130 Commits

Author SHA1 Message Date
Howard Hinnant
4e2a7ac05b zoned_time with durations coarser than seconds are too error prone. 2016-05-05 22:41:26 -04:00
Howard Hinnant
1e5d2fa8dd Create local and system time types for timezone functions.
* Add sys_time.
* Add sys_days.
* Add sys_seconds.
* Add local_time.
* Add local_days.
* Add local_seconds.
* Rename day_point to sys_days.
* Rename Zone to time_zone.
2016-05-03 23:19:09 -04:00
Howard Hinnant
95271f8337 Minor fixes 2016-04-21 16:21:01 -04:00
Howard Hinnant
d8426940d7 Update tz validation test with more checking 2016-04-17 21:51:30 -04:00
Howard Hinnant
70f7d52f88 Enable %Z parsing 2016-04-09 16:04:00 -04:00
Howard Hinnant
cd79376546 Add remote API and auto-download of tzdata. 2016-04-09 14:07:19 -04:00
Howard Hinnant
e79634f61d Optimize initialization of tz database
* Defer expensive parts of the initialization
* The deferment can be turned off with -DLAZY_INIT=0
2016-04-05 16:33:20 -07:00
Howard Hinnant
e8f95dddb7 Add format and parse functionality. 2016-04-03 18:57:02 -04:00
Howard Hinnant
d3be73c664 Merge branch 'gmcode-master' 2016-03-30 21:48:34 -04:00
gm
a093521890 Remove floor, ceil, round and abs when VS Update 2 is present as it's chrono has this polishing. 2016-03-30 21:47:40 -04:00
HowardHinnant
cb33a27471 Update README.md v1.0.0 2016-03-27 21:16:23 -04:00
Howard Hinnant
bf9fe449cd Correct buffer management with Windows system calls.
Credit: Reiner Eiteljörge
2016-03-27 15:35:14 -04:00
HowardHinnant
f3ce2210e6 Merge pull request #43 from tomy2105/master
Fixes for move constructors and assignment operators added for VS2013
2016-03-15 10:13:02 -04:00
tomy2105
644291ce1b Fixing tabs
Fixing leading tabs from previous commit.
2016-03-15 14:29:26 +01:00
tomy2105
7360d68eb7 Fixing default VS2013 "default"s
Fixing VS2013 versions of "default" move constructor and assignment
operator
2016-03-15 14:21:50 +01:00
Howard Hinnant
f73c4aa486 Deal with warnings. 2016-03-11 23:02:29 -05:00
Howard Hinnant
08e55b5de3 Merge branch 'master' of github.com:HowardHinnant/date 2016-02-19 18:48:33 -05:00
Howard Hinnant
f1d2e869d7 Print out time zone database version 2016-02-19 18:48:23 -05:00
HowardHinnant
3470d24321 Merge pull request #38 from galik/master
prevent GCC warning/error when using -pedantic or -pedantic-errors flags
2016-02-04 10:17:28 -05:00
galik
177032852d prevent GCC warning/error when using -pedantic or -pedantic-errors flags 2016-02-04 00:56:56 +00:00
Howard Hinnant
5acaffc2b3 Add timezone db version and misc cleanup 2016-01-27 20:34:48 -05:00
Howard Hinnant
f6664da11e Link to Cppcon 2015 presentation 2016-01-13 17:44:36 -05:00
Howard Hinnant
e988efad90 Small negative floating point values should trunc and round to -0. instead of 0. 2016-01-01 15:27:17 -05:00
Howard Hinnant
bf5fbe26ff Link README to iso_week documentaiton 2015-12-23 19:04:48 -05:00
Howard Hinnant
53969d674b Update README to include iso_week 2015-12-23 13:20:48 -05:00
Howard Hinnant
d49afb8a30 Add test for date composition operators 2015-12-23 13:20:08 -05:00
Howard Hinnant
57b2686d52 Add missing date composition operator 2015-12-23 13:19:36 -05:00
Howard Hinnant
270b8554f5 Test year_lastweek_weekday 2015-12-22 19:48:11 -05:00
Howard Hinnant
edc3aee402 Test year_weeknum_weekday 2015-12-22 19:08:16 -05:00
Howard Hinnant
fe8fc38d7a Test lastweek_weekday 2015-12-22 17:59:28 -05:00
Howard Hinnant
099c068dcf Test weeknum_weekday 2015-12-22 15:58:04 -05:00
Howard Hinnant
8b885976bc Add test for year_lastweek 2015-12-22 15:37:53 -05:00
Howard Hinnant
b2203746d9 Add test for iso_week::year_weeknum. 2015-12-22 15:12:51 -05:00
Howard Hinnant
d5b26a8796 Tests for iso_week::year 2015-12-21 22:13:23 -05:00
Howard Hinnant
323e2fa5fd Remove is_leap from iso_week::year 2015-12-21 21:52:31 -05:00
Howard Hinnant
862c7d43d6 Tweak to operator-(const weeknum& x, const weeknum& y) 2015-12-21 21:35:31 -05:00
Howard Hinnant
906f5eb4f9 Tests for iso_week::weeknum 2015-12-21 21:33:50 -05:00
Howard Hinnant
e10c55d4a6 Intitial ios_week tests 2015-12-21 20:27:57 -05:00
Howard Hinnant
e8ff47f110 Rename lastweek to last_week 2015-12-20 20:23:02 -05:00
Howard Hinnant
7d78934999 First commit for iso_week.h 2015-12-05 19:14:15 -05:00
Howard Hinnant
47cf8a7d42 Silence warning 2015-12-05 19:13:18 -05:00
Howard Hinnant
bc795cb86c Merge branch 'ivanp2015-vs2013-integration' 2015-12-03 10:36:49 -05:00
Howard Hinnant
9fde153819 Merge branch 'vs2013-integration' of git://github.com/ivanp2015/date into ivanp2015-vs2013-integration 2015-12-03 10:36:29 -05:00
ivanp2015
b41a55581d Corrections after code review 2015-12-03 13:41:11 +02:00
Howard Hinnant
7bc3d8ee85 Merge branch 'vs2013-integration' of git://github.com/ivanp2015/date into ivanp2015-vs2013-integration 2015-12-02 20:25:06 -05:00
Ivan Pizhenko
0e64070a33 Correction after code review 2015-12-02 16:22:09 +02:00
Howard Hinnant
18c0041b83 Merge branch 'vs2013-integration' of git://github.com/ivanp2015/date into ivanp2015-vs2013-integration 2015-11-29 14:10:45 -05:00
ivanp2015
50802176f3 TZ stuff fixed for VS2013 2015-11-29 07:56:59 +02:00
Howard Hinnant
cb07e901ea Merge branch 'ivanp2015-vs2013-integration' 2015-11-28 17:41:37 -05:00
Howard Hinnant
4a4a864964 Minor polishing 2015-11-28 17:41:17 -05:00
ivanp2015
ca74113ae8 date.h fixed for VS2013 2015-11-29 00:19:24 +02:00
Ivan Pizhenko
636e094901 Merge pull request #3 from HowardHinnant/master
update from mainstream repo
2015-11-29 00:01:48 +02:00
Howard Hinnant
1d23665bd4 Change __int128 protection. 2015-11-28 12:45:27 -05:00
Howard Hinnant
e08458e279 Update rounding utilities. 2015-11-22 21:57:49 -05:00
Ivan Pizhenko
21d042ef24 Merge pull request #1 from HowardHinnant/master
Merged mainstream repo commits
2015-11-21 11:04:26 +02:00
Howard Hinnant
c5f307fdb8 Renamed date_literals to date::literals and corrected placement. 2015-11-09 20:28:04 -05:00
Howard Hinnant
386d2b8c9d Merge branch 'ivanp2015-master' 2015-11-07 19:39:10 -05:00
Ivan Pizhenko
bf699e573b Fixed GCC 4.8 compilation issue 2015-11-08 00:54:02 +02:00
Howard Hinnant
db9f0d19ba Make Zone move-only 2015-11-03 20:01:12 -05:00
Howard Hinnant
f19e7f22c7 Fix overflow in Zone::to_sys_impl when input precision is too fine. 2015-11-03 19:47:03 -05:00
Howard Hinnant
2116eeade3 Merge branch 'gmcode-gm_issue_19' 2015-10-27 12:14:54 -04:00
Howard Hinnant
819d2c3575 Minor cleanup and crank up warnings. 2015-10-27 12:14:30 -04:00
Howard Hinnant
333894fc9d Merge branch 'gm_issue_19' of git://github.com/gmcode/date into gmcode-gm_issue_19 2015-10-27 11:53:29 -04:00
Howard Hinnant
342d15ce56 Give last_spec an explicit default ctor 2015-10-27 11:52:31 -04:00
gm
2467d56f11 Address issue 19: define NOMINMAX and WIN32_LEAN_AND_MEAN. In addition, fix some warnings so MSVC will compile at /W4 with no warnings.
No functional change intended.
2015-10-22 22:36:37 +13:00
Howard Hinnant
8628a5c72d Add link to Cppcon 2015 slides 2015-09-28 19:38:13 -04:00
Howard Hinnant
6b03ff2e70 Push tz configuration up higher in the source file. 2015-09-27 10:49:10 -04:00
Howard Hinnant
4e6872fb68 Merge branch 'gmfix2' 2015-09-27 10:48:18 -04:00
gm
635ec55065 Throw a runtime error if the install folder does not exist.
Replace my accidental use of NULL with nullptr.
Improve some comments.
2015-09-27 20:55:55 +13:00
HowardHinnant
9c04c2f182 Merge pull request #14 from gmcode/gmfix
Fix a WIN32 -> _WIN32 typo and try to make some comments more readable.
2015-09-23 19:54:08 -07:00
gm
0791828329 Fix a WIN32 -> _WIN32 typo and try to make some comments more readable. 2015-09-24 14:46:20 +12:00
Howard Hinnant
c8ee261043 Added a few convenience field getters:
* year_month_weekday::weekday()
* year_month_weekday::index()
* year_month_weekday_last::weekday()
2015-09-19 13:46:09 -04:00
Howard Hinnant
6af1976e36 Move all literals into namespace date_literals
This includes both the literal operators, and the constexpr literals such as sun and jan.
2015-09-06 17:58:29 -04:00
Howard Hinnant
68f7d11c45 Add sizeof test 2015-09-06 16:58:22 -04:00
Howard Hinnant
a0d2343eab Try disabling construction of weekday from int.
Also fix bug in round for negatives.
2015-09-02 20:48:44 -04:00
Howard Hinnant
479cd16986 Add validate test for timezones 2015-08-15 16:00:42 -04:00
Howard Hinnant
9b79ad2ce2 Add tests for time_of_day and make_time 2015-08-15 14:21:43 -04:00
Howard Hinnant
2841bc69a7 Exhaustive survey test for op div 2015-08-15 12:33:10 -04:00
Howard Hinnant
12e6d38bba Add tests for operator/() 2015-08-14 19:17:12 -04:00
Howard Hinnant
27ebc9dc44 Add tests for year_month_weekday_last 2015-08-14 16:55:06 -04:00
Howard Hinnant
6e347c11e9 Add tests for year_month_weekday 2015-08-14 16:47:11 -04:00
Howard Hinnant
5f182bc410 Add tests for year_month_day_last 2015-08-14 16:26:42 -04:00
Howard Hinnant
cb3ffd10e0 Add tests for year 2015-08-14 13:57:45 -04:00
Howard Hinnant
751f6aa279 Extra sanity checks for year_month_day 2015-08-10 23:09:56 -04:00
Howard Hinnant
a2ac8a8003 Tweak testit to better handle OPTIONS 2015-08-10 20:59:29 -04:00
HowardHinnant
5c7692be4f Merge pull request #12 from villevoutilainen/patch-2
Comment typos
2015-08-10 20:32:18 -04:00
Ville Voutilainen
eb32682e99 Comment typos 2015-08-10 23:14:15 +03:00
HowardHinnant
6a5c88b92d Merge pull request #11 from villevoutilainen/patch-1
Add myself to tz.cpp copyright
2015-08-10 10:10:31 -04:00
Ville Voutilainen
13de3eb7f2 Add myself to tz.cpp copyright 2015-08-10 09:59:01 +03:00
Howard Hinnant
e95858bb7d Add tests for year_month_day 2015-08-09 22:18:31 -04:00
Howard Hinnant
4b8ca1c24d Change year_month_day_last to store a {year, month_day_last}
* from storing a {year, month}.
    * Change constructor from {year, month} to {year, month_day_last}.
    * Add getter from year_month_day_last().
    * Fix up operator/() as required.
    * This is an API change, but not a functionality change.
    * Rationale: consistency.
2015-08-09 18:37:46 -04:00
Howard Hinnant
7796894a1c Add tests for year_month 2015-08-09 17:37:33 -04:00
Howard Hinnant
c8f5ec5b4d Add tests for month_weekday_last 2015-08-09 16:31:12 -04:00
Howard Hinnant
e701a42ced Change month_weekday_last to store a {month, weekday_last}
* from storing a {month, weekday}.
* Change constructor from {month, weekday} to {month, week_last}.
* Change getter from weekday() to weekday_last().
* Fix up operator/() as required.
* This is an API change, but not a functionality change.
* Rationale: consistency.
2015-08-09 16:30:42 -04:00
Howard Hinnant
71d54735b5 Add tests for month_weekday 2015-08-09 15:55:48 -04:00
Howard Hinnant
6ef4eac56e Add test for month_day_last 2015-08-09 15:41:55 -04:00
Howard Hinnant
6e0ce6aafe Add test for month_day 2015-08-09 15:34:50 -04:00
Howard Hinnant
8c3023fb52 Add test for weekday_last 2015-08-09 15:11:55 -04:00
Howard Hinnant
1534d75014 Add test for weekday_indexed 2015-08-09 15:07:08 -04:00
Howard Hinnant
55d2098c6f Add weekday tests 2015-08-09 14:48:11 -04:00