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
Howard Hinnant
57c7d88eda
Eliminate redundant tests:
...
* The unit tests should reflect basic definitions.
* Derivative relationships do not need to be tested.
* Derivative tests needlessly increase test times and noise.
2015-08-09 13:27:39 -04:00
Howard Hinnant
28eadffa06
Implement '%z'
2015-08-08 18:11:35 -04:00
Howard Hinnant
999dfc4b37
Change to MIT copyright
...
* Added unicode copyright to CLDR-derived mapping.
2015-08-08 17:03:43 -04:00
Howard Hinnant
2d115a8022
Add to_duration() to time_of_day:
...
* This is a synonym for static_cast<precision>(*this).
* This variation can be easier to spell when the precision
is not conveniently available.
2015-08-08 13:38:12 -04:00
Howard Hinnant
33f923b508
Rename seconds_point to second_point for consistency with day_point.
2015-08-08 13:20:12 -04:00
Howard Hinnant
0d0841f5b8
Rename current_timezone() to current_zone():
...
* Better symmetry with locate_zone(name).
2015-08-08 13:06:04 -04:00
Howard Hinnant
0fe43bab32
Merge branch 'test'.
...
The unit tests are still very much a work in progress.
But the work now lives on the master branch.
2015-08-08 12:52:45 -04:00
Howard Hinnant
5104a4afcb
Revert: Make months and years not convertible to seconds:
...
* After much consideration I consider this not a good change.
* It introduced a completely arbitrary mathematical relationship
among the units.
* This commit restores a precise relationship among the units which
is based on the Gregorian calendar.
* However this experiment has been preserved in the git history.
2015-08-08 12:45:55 -04:00
gm
c21e392c81
Initial Win32 support.
...
This library now compiles on Windows but requires VS2015 for Windows.
VS2013 may work but this has not been tested yet.
Requires NOMINMAX to be defined to avoid clashes with the Windows.h
headers and the C++ stl and this libraries Date max functions.
Also known to work equivalently with recent g++ and mingw combinations
but -std=C++14 flag should be set.
C++14 restrictions may be relaxed later. Patches welcome!
g++ 5.1 was tested. It may work with other version but that hasn't been tried.
Mac OS and Linux systems are known to compile with -std=c++11
current_timezone and locate_zone will return iana names not windows
time zone names. This is expected and as designed.
2015-08-06 23:16:03 -04:00
HowardHinnant
225a2b6c65
Update README.md
2015-08-05 21:31:12 -04:00
HowardHinnant
328d2a0fd0
Update README.md
2015-08-05 21:27:20 -04:00
Howard Hinnant
fd485c5383
[X] Make months and years not convertible to seconds:
...
* The Gregorian average of months and years is an
integral number of seconds.
* This patch slightly tweaks the average to make it
not an integral number of seconds, and thus these
units no longer implicitly convert to seconds.
* This will flag naive mixing of years, months and seconds
as a compile time error.
2015-08-05 21:11:50 -04:00
Howard Hinnant
16775dccb9
Remove streaming for time_points with resolution greater...
...
than a day.
* cout << floor<years>(system_clock::now()) is very confusing.
* The aforementioned streaming operation is now a compile time error.
2015-08-03 22:13:20 -04:00
Howard Hinnant
756460892c
Initial unit test submission.
2015-08-02 15:56:48 -04:00
Howard Hinnant
94237ceaa7
Take into account that year::ok() may now return false.
2015-08-02 12:30:49 -04:00
Howard Hinnant
c99a40b846
Add year_month += and -= operators.
2015-08-01 19:16:33 -04:00
Howard Hinnant
2e715844bb
Restrict the range of year:
...
to within the range of chrono::minutes.
* This prevents overflow when adding minutes to day_point
when minutes is stored in 32 bits.
* Also added static checks on the range of hours and seconds.
If these static checks fire, the range of year should be
further reduced.
* This does not impact gcc at all. It impacts clang only
when targeting 32 bit architectures. And it fixes
overflow on Visual Studio.
* Thanks much to https://github.com/gmcode for the herculean
effort in tracking this down.
2015-08-01 16:49:51 -04:00
Ville Voutilainen
17bd48d23c
An attempt to tidy up current_timezone()
2015-07-30 01:01:19 +03:00
Howard Hinnant
a2c632bb5b
Silence a few warnings on VS.
2015-07-28 21:56:14 -04:00
Howard Hinnant
07361f9d86
Reduce technology down to what VS can handle.
2015-07-28 11:00:53 -04:00
gm
51864f56c1
Try to make current time zone work with Linux. e.g. Ubuntu and Fedora
2015-07-27 18:45:43 -04:00
Howard Hinnant
5c370dbfd9
Port to gcc-5.2.0 on OS X.
...
* This also fixes an overflow bug in Zone::get_info.
2015-07-25 18:01:31 -04:00
Howard Hinnant
0c44d8c70d
Specialize streaming operator for day_point.
2015-07-20 14:58:05 -04:00
Howard Hinnant
12a769653e
Fix rule finding logic for falling off the front of the rule list
2015-07-18 23:11:20 -04:00
Howard Hinnant
9858887551
Correct some silly spelling errors.
2015-07-18 18:58:48 -04:00
Howard Hinnant
73f70c77aa
Merge branch 'master' of github.com:HowardHinnant/date
2015-07-18 17:40:36 -04:00
Howard Hinnant
a431164fcd
Add missing 'backward' file and correct output of negative values for time_of_day_storage.
2015-07-18 17:40:18 -04:00
HowardHinnant
55282ee1c7
Update README.md
2015-07-18 14:47:12 -04:00
HowardHinnant
4a1697a585
Create README.md
2015-07-17 23:35:23 -04:00