573 Commits

Author SHA1 Message Date
Howard Hinnant
c64d69b1e1 Avoid getting localized time zone names from Windows OS.
* Use GetDynamicTimeZoneInformation to get .TimeZoneKeyName
  https://msdn.microsoft.com/en-us/library/windows/desktop/ms724318(v=vs.85).aspx
  > Retrieves the current time zone and dynamic daylight saving time settings.
  https://msdn.microsoft.com/en-us/library/windows/desktop/ms724253(v=vs.85).aspx
  > The name of the time zone registry key on the local computer.

* This avoids the need to map from StandardName to TimeZoneKeyName.

* Using .DynamicDaylightTimeDisabled = true forces the OS to return a
  non-daylight saving time result.

* Use of wcstombs is preferred over wstring_convert as the latter is now
  deprecated in C++17 because the implementors could not interpret the
  specification.
2017-04-17 19:06:58 -04:00
gm
885910375f Fix pragma warnings. Displayed at least by MSVC. 2017-04-16 23:53:37 +12:00
Howard Hinnant
d15491103b Move chrono_io.h functionality into date.h. 2017-04-13 21:01:47 -04:00
Howard Hinnant
05db422ca9 Respect width and padding in "chrono_io.h" 2017-04-13 18:02:26 -04:00
Howard Hinnant
2c094f5559 Restrict parse of %Z to valid timezone names and abbrev. 2017-04-13 14:09:14 -04:00
Howard Hinnant
096bad2622 Parse should fail if fmt string is not consumed. 2017-04-13 12:45:28 -04:00
Howard Hinnant
fc3d4d97fe Silence unused variable 'leaps' warning 2017-04-13 12:44:21 -04:00
Howard Hinnant
4f27361378 Add range checking for the time-of-day fields during parse.
*  Also refactor the leap-second logic used in utc_time.
2017-04-07 18:52:09 -04:00
Jan Kratochvil
a4eef8e20c Fix gcc -O -D_FORTIFY_SOURCE. 2017-04-03 20:46:36 -04:00
Jan Kratochvil
1fd0806757 Fix -Wshadow for gcc and clang. 2017-04-03 20:46:36 -04:00
Howard Hinnant
3daf8c1ffe Minor tweaks. 2017-04-01 21:53:29 -04:00
Florian Dang
c4c2550b29 Ignore GCC warnings.
* 4.9 missing initializer warnings
* pedantic for __int128 case
* Wrap diagnostic push and pop in tz.cpp and date.h.
2017-04-01 12:36:54 -04:00
Howard Hinnant
f30450b4c5 Merge branch 'master' of github.com:HowardHinnant/date 2017-03-30 14:45:42 -04:00
Howard Hinnant
d29cd4e343 Fix formatting bug for utc_time. 2017-03-30 14:44:42 -04:00
Howard Hinnant
5afd241be6 Update README.md 2017-03-28 21:04:59 -04:00
Howard Hinnant
f044cb0583 Update README.md 2017-03-28 21:02:32 -04:00
Howard Hinnant
3495c513a1 Enable parse and format for more types:
* year
    * month
    * day
    * weekday
    * year_month
    * month_day
2017-03-25 17:46:17 -04:00
Howard Hinnant
3ab6510cab Update copyright to 2017 2017-03-21 21:52:51 -04:00
Howard Hinnant
5eff31acdd Update README.md 2017-03-21 10:41:05 -04:00
Florian Dang
5e86f2c5ba Create downloads folder when it does not exist yet. 2017-03-20 18:25:19 -04:00
Howard Hinnant
dbee0e7da4 Allow parsing %Ez to parse only 1 hour digit. 2017-03-17 20:18:06 -04:00
Howard Hinnant
d110f07f59 Clean up time_of_day tests.
* Don't assume int64_t is the rep in the predefined chrono durations.
2017-03-14 11:05:33 -04:00
Howard Hinnant
9e1120c676 Make time_of_day default constructor non-explicit.
Add zoned_time const char* overloaded constructor.
2017-03-12 15:18:53 -04:00
gaspardpetit
f4292e6aca Added Alloc argument to template parameters to support custom allocators in from_stream 2017-03-11 20:13:06 -05:00
Gaspard Petit
a811a20748 Fixes minor typos in comments - no actual change to code 2017-03-08 11:28:35 -05:00
Howard Hinnant
3df43424ac Add from_stream 2017-03-02 13:16:22 -10:00
Howard Hinnant
1e7e7a214d Simplify the implementation of format and parse:
* For format, all a type must do is implement to_stream.

* For parse, each type X must specialize parse_manip<X,CharT,Traits>.
  Each specialization must include a public typedef to itself named
  type.

* Each parse_manip specialization must have a stream extraction
  operator.

* This commit depends on expression-SFINAE.  If this commit breaks
  your build, it is likely that your compiler/version does not
  support expression-SFINAE.  To fix this NO_EXPRESSION_SFINAE
  needs to be defined in the configuration area of date.h for
  that compiler/version.
2017-02-26 14:10:10 -05:00
Howard Hinnant
ffc8cd0a3b Add format and parse to tai_time, gps_time, year_month_day 2017-02-26 09:28:15 -05:00
Howard Hinnant
e9d36c6200 Rewrite format and parse in terms of detail::fields<Duration>
* Add format and parse to utc_time<Duration>.
* Added more tests.
2017-02-25 20:44:59 -05:00
Howard Hinnant
3233cbaf9a Update link to latest proposal 2017-02-13 13:00:12 -05:00
Jiangang (Jeff) Zhuang
3e906a2409 Remove a leftover output to std::cout 2017-02-13 12:17:11 -05:00
Howard Hinnant
c7f2995d0b Remove outdated warning about the version change. 2017-02-11 11:04:14 -05:00
Howard Hinnant
0d6de15043 Work around {} bug for older compilers
* iso_week.h
2017-02-08 14:44:37 -05:00
Howard Hinnant
5c09ae73f2 Work around {} bug for older compilers 2017-02-08 11:32:33 -05:00
Howard Hinnant
098223cf6d Second try at silencing "unused" warning for strerror_r 2017-02-07 17:31:14 -05:00
Howard Hinnant
6a31edcb38 Silence "unused" warning for strerror_r 2017-02-06 10:18:40 -05:00
Howard Hinnant
800ae143aa Correct the return type on two format overloads 2017-02-06 10:18:08 -05:00
Nicolas Veloz Savino
c1034550d2 Exclude expand_path when INSTALL is not defined 2017-01-30 18:02:06 -05:00
Howard Hinnant
3a9880999d Add format and parse overloads for durations 2017-01-28 16:21:21 -05:00
Howard Hinnant
ce67ee0997 Add License file 2017-01-26 19:42:42 -05:00
Howard Hinnant
2b8e6562ae Work around VS-2015 bug 2017-01-24 15:35:28 -05:00
James Beach
186dbb2891 Enable CONSTCD14 for VS2017 2017-01-19 12:46:11 -05:00
Howard Hinnant
49a59e5665 Add support for unsigned-based durations in time_of_day 2017-01-14 12:54:03 -05:00
Jiangang (Jeff) Zhuang
095f66af28 resolve /etc/localtime by calling realpath 2017-01-14 07:46:05 -05:00
Jiangang (Jeff) Zhuang
ea1717e8ab Define DATE_API empty when building static lib on Windows 2017-01-10 20:31:32 -05:00
Howard Hinnant
659cdca5dc Only define get_windows_zones_install() under TIMEZONE_MAPPING 2017-01-09 21:01:39 -05:00
Howard Hinnant
634b84eb60 Introduce set_install as suggested by PR 99
* Retain install variable as a function local static to maintain
  recent fixes to initialization order problems.
2017-01-07 18:27:40 -05:00
Alexandre Dupas
41093d05d8 Use CONSTDATA in function parse making compiler without constexpr support happy 2017-01-07 13:19:02 -05:00
Jiangang (Jeff) Zhuang
c6f3dd2832 make the location of windowsZones.xml configurable 2017-01-05 20:28:12 -05:00
Howard Hinnant
e203304afd Give DATE_API a default definition. 2017-01-05 20:24:46 -05:00