159 Commits

Author SHA1 Message Date
Andrea Pappacoda
8eeae97520 Support dark color-scheme
This patch updates the html documentation to add the color-scheme meta
element, signaling ligth and dark color scheme support, and updating the
inline CSS styles to override some colors when dark mode is active, to
make sure that the document is always readable.

I've also cleaned up a bit the CSS styles, but without functional
changes.
2024-09-28 16:39:58 -04:00
Jonathan Wakely
88d9e5ceff Fix typos 2023-07-24 14:00:03 -04:00
Howard Hinnant
84b983a15e Update weekday spec with:
* c_encoding
    * iso_encoding
2023-05-29 11:04:21 -04:00
Howard Hinnant
a0e3b2a414 Update link to windowsZones.xml 2021-03-22 14:43:31 -04:00
Howard Hinnant
dad52961da Remove extra '}'
Fixes #8
2019-12-31 17:05:33 -05:00
F
d90045212d Better explain that from_stream does not change the value of the target (#389)
in case of an error and that !ok() is not an indication of error.

Fixes issue #387.
2018-09-26 17:13:58 -04:00
Howard Hinnant
8fbeb9ac4f Document clock_cast for local_time.
Document clock_time_conversion<D, local_t> calling D::from_local
and clock_time_conversion<locat_t, S> calling S::to_local.

To avoid ambiguities addes:
* clock_time_conversion<local_t, local_t> - idenitity
* clock_time_conversion<local_t, utc_clock> - same as default (utc_clock::to_local)
* clock_time_conversion<utc_clock, local_t> - same as default (utc_clock::from_local)

In addition, as std::chrono::system_clock cannot be edited, added:
* clock_time_conversion<local_t, std::chrono::system_clock> - assumes same epoch
* clock_time_conversion<std::chrono::system_clock, local_t> - assumes same epoch
2018-06-11 15:16:42 -04:00
Howard Hinnant
0543e00b88 Clarify that year represents the proleptic Gregorian calendar
* Uses year{0} and negative years as opposed to AD/BC.
2018-06-03 14:03:29 -04:00
Howard Hinnant
4358ea7b6e [API BREAKING] Remove conversion from weekday to unsigned
* There has been a great deal of anguish over the encoding of
  weekdays:  whether [0, 6] maps to [Sunday, Saturday] or
  [1, 7] maps to [Monday, Sunday].  This commit attempts
  to address that issue, but will break a small amount of
  code at compile-time.  See below on how to fix that.

* The weekday constructor used to accept [0, 6] to represent
  [Sunday, Saturday].  It now accepts [0, 7] to represent
  [Sunday, Saturday] with both 0 and 7 mapping to Sunday.

* The conversion from weekday to unsigned has been removed.

* To convert a weekday to unsigned replace:

      auto u = unsigned{wd};

  with:

      auto u = (wd - Sunday).count();

  This maps [Sunday, Saturday] to [0, 6], which is the
  C/POSIX mapping.  If you prefer the ISO mapping
  ([Monday, Sunday] -> [1, 7]), then do:

      auto u = (wd - Monday).count() + 1;
2018-06-02 22:55:35 -04:00
Howard Hinnant
dc217667ef Change names of weekdays and months:
* sun to Sunday, etc.
2018-06-02 22:04:02 -04:00
Howard Hinnant
c842fd0a19 Clarify is_leap_second 2018-03-23 09:29:19 -04:00
Howard Hinnant
f4639bde96 Document is_leap_second. 2018-03-22 20:52:53 -04:00
Howard Hinnant
0343c68812 Address reviwer comments 2018-03-16 14:33:26 -04:00
Howard Hinnant
03b27e0875 Address reviewer comments 2018-03-16 10:56:23 -04:00
Howard Hinnant
a22227a1c3 Address reviewer comments 2018-03-16 08:17:29 -04:00
Howard Hinnant
fad8bb11bd Rev version 2018-03-16 06:48:27 -04:00
Howard Hinnant
1a399845f0 Initial commit for d0355r7 2018-03-16 06:47:20 -04:00
Howard Hinnant
98c37dd3ee Address reviewer comments 2018-03-15 16:09:16 -04:00
Howard Hinnant
b824f98305 Address reviewer comments 2018-03-15 11:06:04 -04:00
Howard Hinnant
1690090d4e Address reviewer comments 2018-03-15 10:14:26 -04:00
Howard Hinnant
683f294f42 d0355r6 2018-03-14 22:45:07 -04:00
Howard Hinnant
e5ac158f0f Make the parsing of minutes optional under the flags %z 2018-03-03 11:56:22 -05:00
Howard Hinnant
e87abb9125 Remove remote_install and remote_download from synopsis 2018-02-11 16:48:49 -05:00
Howard Hinnant
e30c3f24b8 Add missing constexpr in many places 2018-01-07 14:19:36 -05:00
Howard Hinnant
fb048ec928 Add -lole32 to mingw installation instructions 2017-12-26 15:21:01 -05:00
Howard Hinnant
f3647d3e6c Remove references to strftime 2017-12-26 15:20:42 -05:00
Howard Hinnant
d6ae81acb3 Correct "double %Ez" type-o, two places. 2017-12-04 10:11:28 -05:00
Howard Hinnant
16c5f5885f Add clock_cast 2017-11-26 20:45:20 -05:00
Howard Hinnant
632d115812 Add clock_cast documentation 2017-11-26 13:51:38 -05:00
Howard Hinnant
a2261d3a1e Fix misspellings 2017-11-07 10:42:05 -07:00
Howard Hinnant
739dd1ee51 Replace undefined behavior with unspecified behavior
In the following places:

*  In [time.calendar]
*  In date.html
2017-11-03 13:18:51 -04:00
Howard Hinnant
0b16e765a3 Allow zoned_time conversion among different TimeZonePtr types 2017-10-28 18:18:31 -04:00
Howard Hinnant
20fb6af497 Specify exception constructors
* For nonexistent_local_time and ambiguous_local_time.
* Simplify the constructors.
* Make these exceptions usable for custom time zones.
2017-10-24 12:13:13 -04:00
Howard Hinnant
b3a55312ce Update links to new directory structure 2017-10-16 09:00:40 -04:00
Howard Hinnant
7957b976bc Removed remote_download and remote_install.
* The implementation is now responsible for supplying
  run-time time zone database updates.
2017-10-15 14:26:27 -04:00
Howard Hinnant
3370dab0ed to_stream sets failbit if required to supply a bad name:
* for an invalid month
* for an invalid weekday
2017-10-15 13:55:01 -04:00
Howard Hinnant
f00a77882b Update "Changes since" 2017-10-14 20:51:20 -04:00
Howard Hinnant
78c120f74a Have format set exceptions(failbit | badbit)
*  Be sure if something bad happens under the hood it is not silently
   swallowed.
2017-10-14 20:44:16 -04:00
Howard Hinnant
264fd7c62a Add reference to fmt proposal (P0645) 2017-10-14 12:56:21 -04:00
Howard Hinnant
bc233c5620 Update examples to reflect new directory structure 2017-10-05 16:04:56 -04:00
Howard Hinnant
1e664d221f Correct some html 2017-09-30 16:13:06 -04:00
Howard Hinnant
ed7ed4534d Document get_tzdb_list() 2017-09-30 15:58:29 -04:00
Howard Hinnant
0d7367dbf8 Rename TZ_DB to tzdb
* Bring into alignment with proposal
2017-09-30 14:49:38 -04:00
Howard Hinnant
cb7e2e3ced Document custom time zone capabilities 2017-09-16 14:12:30 -04:00
Howard Hinnant
2f8d22b5a0 Fix minor typeos 2017-09-16 14:12:13 -04:00
Howard Hinnant
d404599ff5 Introduce the ONLY_C_LOCALE
*Eliminates dependance on on the time_get and time_put facets.
2017-08-18 22:57:29 -04:00
Howard Hinnant
b639ed5332 Hard code year::min(), year::max() to [-32767, 32767]
* When year < 0, -year > 0 (always).
* These are the minimal limits C places on short.
* Reserving -32768 is useful in the implementation.
2017-08-15 12:40:03 -04:00
Howard Hinnant
444fa15aa7 Minor clarifications and updates 2017-08-13 22:27:21 -04:00
Howard Hinnant
28fa15c0ae Template zoned_time on TimeZonePtr 2017-08-12 22:32:35 -04:00
Howard Hinnant
4ef96efa94 Make the database list a singly linked list with an atomic head 2017-08-12 19:05:21 -04:00
Howard Hinnant
5a82cda0a5 Merge branch 'gh-pages' of github.com:HowardHinnant/date into gh-pages 2017-08-03 18:12:58 -04:00
Howard Hinnant
597b6e03ce Give weekday_indexed a defaulted default constructor. 2017-07-27 21:31:19 -04:00
Howard Hinnant
f8c3c1ae04 Make from_stream and to_stream customization points 2017-07-27 21:27:14 -04:00
Tony Van Eerd
9fcf01e9cc TZ_DB -> tzdb, and fix html bracket 2017-07-18 16:38:03 -04:00
Howard Hinnant
c110f40e76 Expose a list<tzdb>
* Existing API always accesses the front of the list.
* Add locate_zone and current_zone member functions to tzdb.
* reload_tzdb() pushes a new database to the front of the list.
* get_tzdb_list() exposes the list<tzdb>&.
2017-07-17 23:05:16 -04:00
Howard Hinnant
0f7fd4a04e Remove errant -> from zoned_time(const time_zone* z) spec 2017-07-07 10:10:05 -04:00
Howard Hinnant
4477981840 Update revision history 2017-07-06 21:08:31 -04:00
Howard Hinnant
161cc2b7fe Add deduction guides to zoned_time
* Encourage seconds precision or finer.
2017-07-06 21:05:19 -04:00
Howard Hinnant
9264a21e1e Update Windows build instructions:
*  DATE_BUILD_LIB
*  NOMINMAX
2017-07-03 16:58:33 -04:00
Howard Hinnant
d5951c5476 Pass string_view by value 2017-06-30 12:02:30 -04:00
Howard Hinnant
2b100280c0 Improve spec for year_month - year_month 2017-06-29 21:33:43 -04:00
Howard Hinnant
2b55bdb2e4 Rewrite in terms of string_view 2017-06-29 21:19:50 -04:00
Howard Hinnant
cd888b2928 Tighten up year_month_weekday and year_month_weekday_last:
* conversions to sys_days.
2017-06-29 21:06:53 -04:00
Howard Hinnant
609dd49934 Add zoned_time default constructor and,
refine conversion from calendar types to sys_days and local_days.
2017-06-27 22:15:45 -04:00
Howard Hinnant
241551dd6c Allow day overflow in year_month_day to sys_days conversion 2017-06-27 14:08:02 -04:00
Howard Hinnant
8591ae062c Tighten up year spec:
* Define exactly how leap years are computed to avoid ambiguity.

* Define precise values for year::min and year::max which correspond
  to the C minimal limits for short.

* Rewrite year::ok() in terms of min and max.
2017-06-27 13:40:38 -04:00
Howard Hinnant
9a7b301507 Give zoned_time a default constructor 2017-06-26 21:19:09 -04:00
Howard Hinnant
b8c749227a Added issue concerning zoned_time default constructor. 2017-06-19 20:36:41 -04:00
Howard Hinnant
0f4737aeaa Initial commit of d0355r4.html 2017-06-19 20:32:31 -04:00
Howard Hinnant
047da3548e Change constraint on format functions
* For the two format functions dependent upon Alloc, constrain against
  basic_ostringstream<charT, traits, Alloc> instead of
  basic_ostream<charT, traits>.
2017-06-18 12:16:27 -04:00
Howard Hinnant
ddfaabea00 Reordered template parameter list in several places
* Make consistent with function argument list order.
2017-06-18 12:10:12 -04:00
Howard Hinnant
f8f2c9db10 Add paragraph to [time.parse] concerning failbit
*  The entire format string must be parsed, else failbit gets set.
2017-06-18 11:55:34 -04:00
Howard Hinnant
ed91190978 Refer to ios_base::failbit, not failbit 2017-06-18 11:49:25 -04:00
Howard Hinnant
f62ab2a2e0 Make constexpr literals inline
* Consistent with P0607R0.
2017-06-18 11:43:53 -04:00
Howard Hinnant
6fcb43311f Remove spurious 'class' from operator<< in many places. 2017-06-18 11:32:42 -04:00
Howard Hinnant
5d53bd2244 Fix missing template parameters in zoned_time operator<< 2017-06-18 11:28:09 -04:00
Howard Hinnant
60127222cd Remove spurious Duration template parameter
* From to_stream and from_stream.
* This was just a copy/paste error.
2017-06-18 11:16:48 -04:00
Howard Hinnant
59d8931136 Correct the return type of to_file_time(const sys_time<Duration>& t)
* The mapping between sys_time and file_time can occur at precisions
  coarser than a second because the only anticipated difference
  between these clocks is the epoch, and not the inclusion of leap
  seconds.
2017-06-18 10:53:45 -04:00
Howard Hinnant
e7dd17e572 Remove noexcept from to_file_time 2017-06-17 14:44:28 -04:00
Howard Hinnant
a83b047ef9 Make file_clock::now() noexcept 2017-06-17 13:30:36 -04:00
Howard Hinnant
a6c4c17e9a Remove noexcept from to_XXX_time conversion functions
* The Duration copy might throw.
2017-06-17 13:28:43 -04:00
Howard Hinnant
4f24af489c Make wide string literals in to_stream 2017-06-17 13:22:49 -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
8b51803d7b Minor cleanup in is_clock 2017-06-17 10:34:54 -04:00
Howard Hinnant
7ffdc2450a Reword is_clock and add is_clock_v 2017-06-17 10:28:00 -04:00
Howard Hinnant
8c34cf1e8f Add link to reference 1 2017-06-17 00:00:03 -04:00
Howard Hinnant
5bc5a7f0bb Fill out link specification 2017-06-16 21:58:58 -04:00
Howard Hinnant
34e83bcf84 Fill out leaps specification 2017-06-16 21:47:54 -04:00
Howard Hinnant
09f16d53a2 Remove note in [thread.req.paramname] 2017-06-16 15:06:45 -04:00
Howard Hinnant
50c0111980 Improve wording in [thread.req.paramname] 2017-06-16 14:53:32 -04:00
Howard Hinnant
ff07f87b5b Run through spell checker 2017-06-16 13:35:13 -04:00
Howard Hinnant
27410b5095 Initial draft of D0355R3 2017-06-16 13:22:30 -04:00
Howard Hinnant
acf922d4ba Set failbit instead of throw within to_stream
* This is for consistency with other std streaming operations.
2017-06-12 21:03:01 -04:00
Howard Hinnant
e29fdf3374 Document USE_OS_TZDB. 2017-06-04 21:44:45 -04:00
Howard Hinnant
81b6367e98 Tweak white space parsing rules (again):
* White space matches zero or more white space characters.

  * %n matches one white space character.

  * %t matches zero or one white space characters.
2017-05-07 15:25:19 -04:00
Howard Hinnant
6618a2d3a7 Clarify how from_stream handles whitespace. 2017-05-04 16:32:22 -04:00
Howard Hinnant
b83f3412d0 Move chrono_io.h functionality into date.h. 2017-04-13 21:02:00 -04:00
Howard Hinnant
0dd1d499ae Restrict parse of %Z to valid timezone names and abbrev. 2017-04-13 14:23:42 -04:00
Howard Hinnant
ea8a24504d Do not change time_point of an invalid date is parsed. 2017-04-13 14:17:04 -04:00
Howard Hinnant
c036ef54bd Update %y documentation to specify implicit century. 2017-04-03 12:16:10 -04:00