Edward Nolan
6219dd7e4d
Support tz databases from release 2023d and newer by adding new zonenow.tab file to ignore list
...
date's internal init_tzdb function iterates through the files provided
by the tz database, and init_tzdb contains a list of files that should
not be interpreted as being in TZif format.
The 2023d release of the tz database added a new file that is not in
TZif format, zonenow.tab. However, this file had not been added to the
ignore list.
This caused date to intepret the zonenow.tab file as a TZif file,
which caused assertions to fire in debug mode if the user attempted to
load its associated time_zone, causing load_header() to be invoked
on the file, which would find that it did not contain a 'TZif' magic
number.
This commit addresses the issue by adding the file to the ignore list.
The announcement on the tz database mailing list which describes the
addition of zonenow.tab can be found at this link:
https://mm.icann.org/pipermail/tz-announce/2023-December/000080.html
2024-09-28 15:56:36 -04:00
Krzysiek Karbowiak
939031c38c
Fix typo
2024-09-28 15:38:46 -04:00
Howard Hinnant
51ce7e1310
A couple more fixes for parsing compliance
...
* Fixes : #839
2024-09-13 20:31:29 -04:00
Howard Hinnant
155c6b9e76
Bring text parsing into compliance with the tzdata spec
...
* Fixes #836
2024-09-12 15:53:39 +01:00
Nikolay Baklicharov
1ead6715de
Allow option override by FetchContent
2024-05-14 09:51:08 -04:00
Nicolas Dusart
f986299fbb
support Android for current_zone()
2024-05-13 20:16:17 -04:00
Howard Hinnant
706b1286e8
One more fix for issue #826
2024-05-10 16:44:22 -04:00
Martin Zink
8a93211679
#826 Build fix for ambiguity with >= libc++ 17
2024-05-10 16:26:43 -04:00
Howard Hinnant
6b1c1b8b3a
Clean up restore_recursion_depth code.
2024-05-10 16:21:36 -04:00
Howard Hinnant
8f8336f42b
Add support for links to links
2024-04-19 14:58:58 -04:00
Howard Hinnant
cd3c57932f
Eliminate dead code.
...
* fixes #822
2024-04-15 10:03:38 -04:00
Howard Hinnant
575fc23c3c
Restrict mention of -Wstringop-overflow to gcc >= 11
2024-04-15 10:00:21 -04:00
Miles Sherman
0e65940a7f
workaround for gcc bug 106757
...
see: https://github.com/HowardHinnant/date/issues/750
2024-03-16 17:40:55 -04:00
Howard Hinnant
88a3b15126
Remove std::is_literal_type from tests.
...
* It was deprecated in C++17 and removed in C++20
2023-12-19 10:16:52 -05:00
Howard Hinnant
5d225951ff
Count sign as part of the character count : part 2
...
* Fix up some damage caused by previous commit.
2023-12-19 10:12:30 -05:00
Howard Hinnant
ab37c362e3
Count sign as part of the character count.
2023-12-11 21:33:25 -05:00
Howard Hinnant
0ef86f1ced
Set not_a_century to something outside the domain of centuries for a year.
2023-12-11 21:32:25 -05:00
DavisVaughan
cc4685a21e
Expose iso_week::year::is_leap()
2023-04-21 14:48:49 -04:00
Tim Tavlintsev
50acf3ffd8
Fix compilation when MISSING_LEAP_SECONDS is set to true
2023-03-04 15:42:06 -05:00
Howard Hinnant
15e0c84e42
Have Posix::time_zone::name() put <> around non-alpha abbreviations
2023-02-12 19:56:54 -05:00
Howard Hinnant
28972d72b4
Guard against Posix::time_zone having transition near ...
...
beginning or end of year.
2023-02-12 19:56:54 -05:00
Howard Hinnant
5f8c904231
Enable a permanent daylight saving rule for Posix::time_zone
...
* See comments in ptz.h for directions and examples.
2023-02-12 19:56:54 -05:00
Jonathan Wakely
c9169ea310
Fix comment typo in tz.h
2022-12-13 09:10:28 -05:00
Howard Hinnant
22ceabf205
Fix tzdb parsing to handle new offset comments in 2022b
2022-08-12 10:30:35 -04:00
Howard Hinnant
c82b776f28
Tweak sys_time streaming operator to work better year and
...
month precision time_points.
2022-08-12 10:29:10 -04:00
Howard Hinnant
2c035f8def
Fix abs(duration) to work with non-normalized ratios
2022-08-12 10:28:12 -04:00
Howard Hinnant
e6f4aed4d1
Supply missing 'inline'
2022-04-24 22:27:54 -04:00
DavisVaughan
9ea5654c12
Sync get_info_impl()
signatures
2022-02-16 20:23:27 -05:00
DavisVaughan
9d9161c978
Sync set_install()
signatures
2022-02-16 20:23:27 -05:00
Howard Hinnant
3776e0f185
Update Posix::time_zone comment with CTAD simplification
2022-01-26 19:44:06 -05:00
Howard Hinnant
9e830536a0
Add range checking for numerical values in Posix::time_zone
2022-01-26 19:40:32 -05:00
Andrea Pappacoda
655b249b8f
test: use -pthread when $CXX is g++
...
Fixes https://github.com/HowardHinnant/date/issues/713
2021-11-02 18:55:01 -04:00
DavisVaughan
529a09267f
Allow set_install()
on Windows to use a file path containing Unicode
...
Anywhere we utilize that install file path, we carefully convert it to UTF-16 and utilize wide character helpers for file manipulation
2021-11-02 18:51:18 -04:00
Howard Hinnant
d9049ee697
Fix current_zone for SLES
...
* Fixes #708
* Patch submitted by JaroslawMelzer
2021-10-15 09:03:33 -04:00
tylawin
2709deddd3
fix -Wshadow warnings
2021-09-12 01:29:13 -06:00
Andrea Pappacoda
2e19c006e2
cmake: update project version ( #699 )
2021-09-01 09:57:59 -04:00
Ans
28b5106d4c
Fix uninitialized values ( #698 )
2021-09-01 09:44:26 -04:00
Howard Hinnant
e1aa4837e0
Avoid signed integral overflow in to_stream
...
Fixes : #696
2021-08-31 17:43:44 -04:00
Howard Hinnant
1ff7208036
Update README.md
2021-08-31 12:40:28 -04:00
Nicolas
b0adc54677
static_cast to silent warning implict conversion ( #693 )
...
That happen because `sizeof(long long unsigned int) == sizeof(long double)` in 32-bit architectures.
2021-08-17 11:35:13 -04:00
Howard Hinnant
d57d764707
Round when parsing seconds instead of duration_cast.
2021-07-25 23:08:53 -04:00
Howard Hinnant
383214dea6
Remove string_view overloads of parse
...
* They were rejected by the LWG
2021-07-25 23:01:30 -04:00
Howard Hinnant
fb2554a7e0
Give gcc 4.8 a hand in constructing fields
...
Fixes #678
2021-06-02 18:23:54 -04:00
JulZimmermann
8c126525cc
call from_stream explicitly from date namespace ( #677 )
...
Co-authored-by: Julian Zimmermann <Julian.Zimmermann@gti.de>
2021-05-31 12:54:11 -04:00
Howard Hinnant
8f95c598c9
[Pedantic] Use named constants in place of literals
2021-05-27 21:20:36 -04:00
Aaron Franke
417402ad35
Remove trailing whitespace and add gitattributes ( #672 )
2021-05-24 08:22:43 -04:00
Howard Hinnant
38267fa1ef
Template basic_string_view on Traits in parse overloads
2021-05-20 08:46:42 -04:00
Howard Hinnant
ebb5719cd7
Change default test mode to C++17
2021-05-19 14:43:19 -04:00
Howard Hinnant
2f4411312b
Add extra parse_manip constructor to avoid ambiguity
2021-05-19 14:36:09 -04:00
Howard Hinnant
e23c15bb36
Add string_view overloads to parse functions
2021-05-19 14:13:33 -04:00
Howard Hinnant
052eebaf00
When comparing sys_info in test...
...
only compare whether the saves are equal to 0
and not their actual values.
This allows one to compare against the binary database
which does not contain actual values of save.
2021-05-18 16:17:37 -04:00
Howard Hinnant
b49a7575eb
Zero initialize local_info in get_info
...
* Even when the result is unique, the second sys_info
should be zero initialized.
2021-05-18 16:15:31 -04:00
Anthony Louis
6e921e1b1d
Add tests for %I and %p format options
v3.0.1
2021-04-16 21:26:33 -04:00
Anthony Louis
39b4edf279
Add flags in README to compile using cmake ( #661 )
2021-04-16 21:06:08 -04:00
Howard Hinnant
2ef74cb41a
If %I is used without %p, mark the ambiguity with failbit
2021-04-16 15:15:45 -04:00
Howard Hinnant
ac6ca2a095
Add is_clock_v
2021-04-15 11:41:20 -04:00
Howard Hinnant
ae017078c9
Fix Posix::time_zone for southern hemisphere
...
* The get_info functions were not prepared for the case where the start
and end times of a rule are chronologically reversed for a year. I.e.
the daylight saving start comes later in the year than the daylight
saving end. When save is positive, this happens in the southern
hemisphere (e.g. "Australia/Sydney" -> "AEST-10AEDT,M10.1.0,M4.1.0/3").
It also happens in the nothern hemisphere when the save is negative
(e.g. "Europe/Dublin" -> "IST-1GMT0,M10.5.0,M3.5.0/1").
* Added tests for Posix::time_zone.
2021-04-09 11:08:12 -04:00
Howard Hinnant
156e0a786e
Fix up namespace error in Posix::time_zone::to_sys
2021-04-07 20:33:01 -04:00
Howard Hinnant
9a9a42db74
Enable streaming output operator for floating-point-based time_points
2021-04-06 17:22:22 -04:00
Howard Hinnant
b5b765f928
Clean up calendrical streaming operators for invalid values
2021-03-31 16:15:53 -04:00
Howard Hinnant
77bd6b92a4
Rattle github.io's cage
2021-03-22 14:59:59 -04:00
Howard Hinnant
654b97091f
Change default on C++17 to uncaught_exceptions
...
* By popular demand.
* If you need to undo this change, compile with
-DHAS_UNCAUGHT_EXCEPTIONS=0.
2021-03-21 22:41:22 -04:00
Howard Hinnant
b899774303
Run curl_global_cleanup only once per application
2021-03-11 19:58:34 -05:00
Howard Hinnant
0e08b942c8
Correct the streaming output of year_month_day
...
* Invalid dates were printing out "invalid"
too many times.
2021-03-11 19:50:14 -05:00
satishbhat-umd
811be52e1c
Add global cleanup to curl object destructor ( #652 )
...
Co-authored-by: Satish Bhat <sbhat@belvederetrading.com>
2021-03-01 17:00:11 -05:00
Davis Vaughan
1c285d6545
Cast to unsigned char
before calling toupper()
( #648 )
2021-02-24 12:49:46 -05:00
Howard Hinnant
bf79dd5a81
Update README.md
2021-01-11 20:05:18 -05:00
Howard Hinnant
26fc2bd372
Fix read_long_double with respect to decimal_point:
...
* Respect locale settings when ONLY_C_LOCALE=0
* Do not respect locale settings when ONLY_C_LOCALE=1
Fixes #637
2021-01-05 21:14:41 -05:00
Howard Hinnant
97246a638a
Silence lossy conversion warning
...
Fixes #620
2020-11-10 08:41:30 -05:00
LarsGullik
432bab81f9
Skip "version" file and USE_OS_TZDB to return "unknown" if no version found ( #616 )
...
In commit commit 0b72599bd43f72d8935e507e25e4f0063f9bb34e there
was a change to read "version" in addition to "+VERSION", so that
file shold also be ignored when scanning/reading zonefiles.
Also before the above mentioed commit get_version() would return
"unknown" if not on __APPLE__ and the version file was not found.
Put back that behaviour, for all USE_OS_TZDB users.
This last change changes the behaviour for __APPLE__ from throwing
an exception to returning "unknown".
Co-authored-by: Lars Gullik Bjønnes <lbjonnes@cisco.com>
2020-10-27 10:08:30 -04:00
Howard Hinnant
215cacff56
Change all uses of round to detail::round_i
...
Fixes #613
detail::round_i is the same as round when the To::rep
is integral, and is just an implicit conversion when
To::rep is floating point.
2020-10-25 20:16:07 -04:00
theirix
3cbfa4318f
Put back handling DISABLE_STRING_VIEW ( #609 )
...
* Put back handling DISABLE_STRING_VIEW
* Add HAS_DEDUCTION_GUIDES to interface library target
2020-10-08 19:22:15 -04:00
Evgen Bodunov
115dd428cf
Proposed fix for issue #161
...
Header include should follow the same preprocessor rules as function definition.
2020-10-08 11:47:09 +03:00
Howard Hinnant
7848566815
Fix a parse error for Visual Studio
2020-10-02 12:53:16 -04:00
Howard Hinnant
393b52f21b
Update README.md
2020-09-19 10:15:51 -04:00
Howard Hinnant
0b72599bd4
For USE_OS_TZDB, look for version number in the files
...
version and +VERSION
2020-09-11 16:00:18 -04:00
Howard Hinnant
ba99134b8a
For USE_OS_TZDB, look for leap seconds in the files
...
leapseconds and leap-seconds.list
2020-09-11 15:53:07 -04:00
Howard Hinnant
5e18488899
Fix subtle bug in fractional_width
2020-09-05 16:34:04 -04:00
Michael Ellery
313189b0a8
Correct lingering references to bare "tz" libname: ( #600 )
...
Fixes : #599
2020-08-25 16:57:00 -04:00
Andre Nguyen
057b441ceb
Use LLONG_MAX instead of std::numeric_limits<long long>::max() when constexpr is absent
2020-08-21 17:09:51 -04:00
Andre Nguyen
d7a0bf1fa7
replace noexcept with NOEXCEPT macro
2020-08-21 17:09:51 -04:00
Andre Nguyen
8140d979cd
fix brace value initialization for msvc 18
2020-08-21 17:09:51 -04:00
Andre Nguyen
7990eae740
fix user defined literals for compatibility with msvc 18
2020-08-21 17:09:47 -04:00
Howard Hinnant
1ec2ea0295
Add test/tz_test/tzdb_list.pass.cpp
2020-08-17 21:34:20 -04:00
Howard Hinnant
658a3b9495
Fix crasher for early local times and USE_OS_TZDB=1
2020-08-17 21:34:20 -04:00
dkhalanskyjb
e7969c32e8
Add Kotlin's datetime library to the list of projects using this ( #593 )
2020-08-14 09:53:14 -04:00
Howard Hinnant
569b2d6785
Improve error message while parsing posix timezone string
2020-08-02 10:56:37 -04:00
Howard Hinnant
abe3ada04f
Update README.md
2020-07-28 17:00:00 -04:00
Nico Schlömer
9537addfc4
fix ONLY_C_LOCALE export from cmake ( #590 )
...
* fix ONLY_C_LOCALE export from cmake
* add some comments
* remove all generator expressions for target output
* cmake: fewer variables, make it easier to read
2020-07-22 19:03:42 -04:00
Howard Hinnant
6952fb50a6
Correct the value for not_a_year
2020-07-08 14:20:31 -04:00
Howard Hinnant
fe2f9c7eac
Change constexpr to CONSTDATA
2020-07-07 15:01:45 -04:00
Michael Ellery
a6243ce56f
set cmake proj ver to 3.0: ( #584 )
...
FIXES : #583
2020-06-22 11:48:09 -04:00
Howard Hinnant
a55f1a103b
Update README.md
2020-06-15 15:18:20 -04:00
Howard Hinnant
d544e5af25
Throw exception if zoned_time is constructed with nullptr
2020-06-14 19:30:23 -04:00
Howard Hinnant
cac99da8dc
For traits in constexpr context use ::value
...
* Fixes #542
v3.0.0
2020-06-02 21:08:57 -04:00
Howard Hinnant
a088baf9a5
Update README.md
2020-05-26 11:47:28 -04:00
Mike Ellery
e6adff6754
[cmake] Rename tz library to date-tz:
...
Fixes : #426
2020-05-24 21:31:18 -04:00
Joshua Jackson
d784766640
iOS Simulator support
2020-05-24 21:31:18 -04:00
Howard Hinnant
9343e31599
Give Posix::time_zone equality comparison
2020-05-24 21:31:18 -04:00
Howard Hinnant
f43c39fcf1
Add member function name() const to Posix::time_zone
...
* Returns the minimal string that uniquely identifies this
time_zone. That is, it takes advantage of all defaults.
2020-05-06 22:12:15 -04:00