Commit Graph
43 Commits
Author SHA1 Message Date
Howard Hinnant cb7e2e3ced Document custom time zone capabilities 2017-09-16 14:12:30 -04:00
Howard Hinnant 9264a21e1e Update Windows build instructions:
*  DATE_BUILD_LIB
*  NOMINMAX
2017-07-03 16:58:33 -04:00
Howard Hinnant 9a7b301507 Give zoned_time a default constructor 2017-06-26 21:19:09 -04:00
Howard Hinnant 87620f4d1f Make to_stream and from_stream return a stream reference 2017-06-17 13:12:27 -04:00
Howard Hinnant e29fdf3374 Document USE_OS_TZDB. 2017-06-04 21:44:45 -04:00
Howard Hinnant c10b729273 Rewrite of the to_stream/format/from_stream/parse docs:
* The bulk of the description is moved from tz.html to date.html.

* The format and parse flags are now described in detail, instead of
  implicitly relying on the C and POSIX specs.  This gives me room
  to specify a few corner cases that are either under-specified in
  the official specs, or to add extensions.

* The from_stream / to_stream specifications are now located with
  each specific type that implements them.  This allows more detailed
  documentation as to how each type interacts with the from_stream /
  to_stream system.

* The format and parse functions are now more clearly separated from
  to_stream and from_stream, and are documented to be nothing more
  than syntax sugar on top of any type that choses to implement
  to_stream or from_stream.
2017-04-01 22:48:54 -04:00
Howard Hinnant 82c6d6a3a4 Enable parse and format for more types:
* year
    * month
    * day
    * weekday
    * year_month
    * month_day
2017-03-25 17:45:39 -04:00
Howard Hinnant f3b61aab48 Document set_install. 2017-03-22 22:52:07 -04:00
Howard Hinnant c12319552a Add from_stream 2017-03-02 13:17:01 -10:00
Howard Hinnant 6466e58f94 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:25 -05:00
Howard Hinnant 5263c7b54c Add format and parse to tai_time, gps_time, year_month_day 2017-02-26 09:28:01 -05:00
Howard Hinnant 4f89141e56 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:45:16 -05:00
Howard Hinnant fa86a381d1 Add format and parse overloads for durations 2017-01-28 16:21:42 -05:00
Howard Hinnant e04ec9aa80 Fix type-o 2016-11-27 11:48:25 -05:00
Howard Hinnant 88f3c85517 Add to_stream which avoids temporary streams and strings.
*  This is a low-level formatting facility which other functions
   such as format call into.
2016-11-25 20:37:35 -05:00
Howard Hinnant d99e39f5d8 Default USE_SHELL_API to 1 2016-10-23 18:56:58 -04:00
Howard Hinnant b2b1d520c5 Make those time_point conversions which can be noexcept, noexcept 2016-10-12 19:48:07 -04:00
Howard Hinnant 6133d1e636 Minor cleanups in the clocks 2016-10-09 20:13:02 -04:00
Howard Hinnant 026caba1c4 Remove static conversion functions from clocks
The free function converters are sufficient API.
2016-10-08 16:06:37 -04:00
Howard Hinnant 4aacc0b0b3 Add parse manipulators 2016-09-14 22:05:47 -04:00
Howard Hinnant ddb826e490 format passes time_point by const& 2016-09-13 20:28:42 -04:00
Howard Hinnant d7e38aa24f Add %F to parse 2016-09-09 21:07:05 -04:00
Howard Hinnant 47b51473c5 Move formatting and parsing
Moved formatting and parsing of sys_time and local_time from tz.h to
date.h in order to make this functionality available to a wider
audience.  Existing code does not need to change.  But future code
can #include "date.h" instead of "tz.h" and need not compile tz.cpp nor
link to curl.

Formatting zoned_time remains in tz.h.
2016-08-24 20:56:17 -04:00
schmidt9 e641f69667 iOS instructions added 2016-08-23 20:57:50 +03:00
Howard Hinnant 54a8b2dc19 Allow optional leading hours digit in offset when a colon is required. 2016-08-08 18:25:59 -04:00
Howard Hinnant bddd8be2aa Document INSTALL, and reorganize Installation instructions. 2016-08-06 15:06:58 -04:00
Howard Hinnant 48d61f2631 Add type diagrams. 2016-06-27 22:36:48 -04:00
Howard Hinnant d1f8e3ab7d Fix minor type-o 2016-06-17 20:39:52 -04:00
Howard Hinnant 9fb5e05eba HAS_REMOTE_API support for Windows. Adds support for MingW too.
* HAS_REMOTE_API still defaults to 0
* When HAS_REMOTE_API=0 only libraries advapi32.lib, ole32.lib and shell32.lib are required.
* Setting HAS_REMOTE_API=1 requires curl: https://curl.haxx.se/libcurl/
*- Also need to manually install 7-Zip (http://www.7-zip.org).
*- Will automatically install Tinyxml2 (http://www.grinninglizard.com/tinyxml2/).
*- Will automatically install http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml
2016-06-16 22:04:31 -04:00
Howard Hinnant d3eb177cdc 'Update' copyright. 2016-06-09 22:28:52 -04:00
Howard Hinnant 49f4ef0a2c Add convenience converts among sys_time, utc_time, tai_time, and gps_time. 2016-06-08 20:49:03 -04:00
Howard Hinnant 58b08e0c74 Add tai_clock and gps_clock. 2016-06-07 22:47:42 -04:00
Howard Hinnant 1f5f4a0b62 Add streaming inserter for utc_time.
* Fix bug in utc_to_sys.
2016-06-06 21:06:25 -04:00
Howard Hinnant c9c460f7b6 Create %Ez & %Oz to put ':' in offset for format and parse. 2016-06-01 23:25:22 -04:00
Howard Hinnant b3b39b0ae6 Support wide streams 2016-05-29 00:15:20 -04:00
Howard Hinnant 1de4e4a150 Rename Leap to leap 2016-05-28 20:27:11 -04:00
Howard Hinnant 6102717e7f Rename Link to link 2016-05-28 20:21:17 -04:00
Howard Hinnant c005648049 Fix type-o's 2016-05-28 14:10:30 -04:00
Howard Hinnant 6220fa83e4 Add more options to the parse functionality. 2016-05-22 12:28:26 -04:00
Howard Hinnant 3758c23251 Continue bringing documentation up to date. 2016-05-21 10:15:58 -04:00
Howard Hinnant 89471a05c4 Continue bringing documentation up to date. 2016-05-15 22:48:52 -04:00
Howard Hinnant da51856fae Create Reference 2016-05-08 23:01:27 -04:00
Howard Hinnant 105bd7df89 Initial commit 2016-05-04 20:43:02 -04:00