Commit Graph

  • ca74113ae8 date.h fixed for VS2013 ivanp2015 2015-11-29 00:19:24 +02:00
  • 636e094901 Merge pull request #3 from HowardHinnant/master Ivan Pizhenko 2015-11-29 00:01:48 +02:00
  • 1d23665bd4 Change __int128 protection. Howard Hinnant 2015-11-28 12:45:27 -05:00
  • 041269441e Fixed time_of_day definition for VS2013 ivanp2015 2015-11-25 09:13:19 +02:00
  • c456f6ba1a Merged pull request #2 Update rounding utilities. ivanp2015 2015-11-23 07:08:06 +02:00
  • 42c104f9ea More changes after code review ivanp2015 2015-11-23 06:03:50 +02:00
  • a89674aaa1 Merge b202436f74bd83c9d5c8d819e749dfe1d4d4a50b into e08458e2799506050b733e0bd18aeb15ce484b69 Ivan Pizhenko 2015-11-23 02:57:51 +00:00
  • e08458e279 Update rounding utilities. Howard Hinnant 2015-11-22 21:57:49 -05:00
  • b202436f74 More fixes after code review ivanp2015 2015-11-22 11:37:19 +02:00
  • d1d02adafb Fixed after code review ivanp2015 2015-11-22 03:05:49 +02:00
  • ccd50cc98f Fixed build with VS2013 ivanp2015 2015-11-21 14:14:00 +02:00
  • 21d042ef24 Merge pull request #1 from HowardHinnant/master Ivan Pizhenko 2015-11-21 11:04:26 +02:00
  • c5f307fdb8 Renamed date_literals to date::literals and corrected placement. Howard Hinnant 2015-11-09 20:28:04 -05:00
  • 386d2b8c9d Merge branch 'ivanp2015-master' Howard Hinnant 2015-11-07 19:39:10 -05:00
  • bf699e573b Fixed GCC 4.8 compilation issue Ivan Pizhenko 2015-11-08 00:54:02 +02:00
  • db9f0d19ba Make Zone move-only Howard Hinnant 2015-11-03 20:00:20 -05:00
  • f19e7f22c7 Fix overflow in Zone::to_sys_impl when input precision is too fine. Howard Hinnant 2015-11-03 19:47:03 -05:00
  • 2116eeade3 Merge branch 'gmcode-gm_issue_19' Howard Hinnant 2015-10-27 12:14:54 -04:00
  • 819d2c3575 Minor cleanup and crank up warnings. Howard Hinnant 2015-10-27 12:14:30 -04:00
  • 333894fc9d Merge branch 'gm_issue_19' of git://github.com/gmcode/date into gmcode-gm_issue_19 Howard Hinnant 2015-10-27 11:53:29 -04:00
  • 342d15ce56 Give last_spec an explicit default ctor Howard Hinnant 2015-10-27 11:52:31 -04:00
  • 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. gm 2015-10-22 22:36:37 +13:00
  • b711ce5084 Revert white space change davidhunter22 2015-10-21 18:29:38 -06:00
  • e2e68bc6bf Revert a few non CMake changes davidhunter22 2015-10-21 18:27:14 -06:00
  • ed1aab3d44 Clean up project structure on Visual Studio davidhunter22 2015-10-21 18:05:43 -06:00
  • 0eeb9daca4 Get CMake to work for Clang/GCC David Hunter 2015-10-21 17:30:56 -06:00
  • 40ac0cb5d5 Add basic CMake files davidhunter22 2015-10-21 15:00:16 -06:00
  • 8628a5c72d Add link to Cppcon 2015 slides Howard Hinnant 2015-09-28 19:38:13 -04:00
  • 6b03ff2e70 Push tz configuration up higher in the source file. Howard Hinnant 2015-09-27 10:49:10 -04:00
  • 4e6872fb68 Merge branch 'gmfix2' Howard Hinnant 2015-09-27 10:48:18 -04:00
  • 635ec55065 Throw a runtime error if the install folder does not exist. Replace my accidental use of NULL with nullptr. Improve some comments. gm 2015-09-27 20:55:55 +13:00
  • 9c04c2f182 Merge pull request #14 from gmcode/gmfix HowardHinnant 2015-09-23 19:54:08 -07:00
  • 0791828329 Fix a WIN32 -> _WIN32 typo and try to make some comments more readable. gm 2015-09-24 14:46:20 +12:00
  • c8ee261043 Added a few convenience field getters: * year_month_weekday::weekday() * year_month_weekday::index() * year_month_weekday_last::weekday() Howard Hinnant 2015-09-19 13:46:09 -04:00
  • 6af1976e36 Move all literals into namespace date_literals This includes both the literal operators, and the constexpr literals such as sun and jan. Howard Hinnant 2015-09-06 17:58:29 -04:00
  • 68f7d11c45 Add sizeof test Howard Hinnant 2015-09-06 16:58:22 -04:00
  • a0d2343eab Try disabling construction of weekday from int. Also fix bug in round for negatives. Howard Hinnant 2015-09-02 20:48:44 -04:00
  • 479cd16986 Add validate test for timezones Howard Hinnant 2015-08-15 16:00:42 -04:00
  • 9b79ad2ce2 Add tests for time_of_day and make_time Howard Hinnant 2015-08-15 14:21:43 -04:00
  • 2841bc69a7 Exhaustive survey test for op div Howard Hinnant 2015-08-15 12:33:10 -04:00
  • 12e6d38bba Add tests for operator/() Howard Hinnant 2015-08-14 19:17:12 -04:00
  • 27ebc9dc44 Add tests for year_month_weekday_last Howard Hinnant 2015-08-14 16:55:06 -04:00
  • 6e347c11e9 Add tests for year_month_weekday Howard Hinnant 2015-08-14 16:47:11 -04:00
  • 5f182bc410 Add tests for year_month_day_last Howard Hinnant 2015-08-14 16:26:42 -04:00
  • cb3ffd10e0 Add tests for year Howard Hinnant 2015-08-14 13:50:54 -04:00
  • 751f6aa279 Extra sanity checks for year_month_day Howard Hinnant 2015-08-10 23:09:56 -04:00
  • a2ac8a8003 Tweak testit to better handle OPTIONS Howard Hinnant 2015-08-10 20:59:29 -04:00
  • 5c7692be4f Merge pull request #12 from villevoutilainen/patch-2 HowardHinnant 2015-08-10 20:32:18 -04:00
  • eb32682e99 Comment typos Ville Voutilainen 2015-08-10 23:14:15 +03:00
  • 6a5c88b92d Merge pull request #11 from villevoutilainen/patch-1 HowardHinnant 2015-08-10 10:10:31 -04:00
  • 13de3eb7f2 Add myself to tz.cpp copyright Ville Voutilainen 2015-08-10 09:59:01 +03:00
  • e95858bb7d Add tests for year_month_day Howard Hinnant 2015-08-09 21:50:23 -04:00
  • 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. Howard Hinnant 2015-08-09 18:37:46 -04:00
  • 7796894a1c Add tests for year_month Howard Hinnant 2015-08-09 17:37:33 -04:00
  • c8f5ec5b4d Add tests for month_weekday_last Howard Hinnant 2015-08-09 16:31:12 -04:00
  • 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. Howard Hinnant 2015-08-09 16:30:42 -04:00
  • 71d54735b5 Add tests for month_weekday Howard Hinnant 2015-08-09 15:55:48 -04:00
  • 6ef4eac56e Add test for month_day_last Howard Hinnant 2015-08-09 15:41:55 -04:00
  • 6e0ce6aafe Add test for month_day Howard Hinnant 2015-08-09 15:34:50 -04:00
  • 8c3023fb52 Add test for weekday_last Howard Hinnant 2015-08-09 15:11:55 -04:00
  • 1534d75014 Add test for weekday_indexed Howard Hinnant 2015-08-09 15:07:08 -04:00
  • 55d2098c6f Add weekday tests Howard Hinnant 2015-08-09 14:42:32 -04:00
  • 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. Howard Hinnant 2015-08-09 13:27:39 -04:00
  • 28eadffa06 Implement '%z' Howard Hinnant 2015-08-08 18:11:35 -04:00
  • 999dfc4b37 Change to MIT copyright * Added unicode copyright to CLDR-derived mapping. Howard Hinnant 2015-08-08 16:24:00 -04:00
  • 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. Howard Hinnant 2015-08-08 13:38:12 -04:00
  • 33f923b508 Rename seconds_point to second_point for consistency with day_point. Howard Hinnant 2015-08-08 13:20:12 -04:00
  • 0d0841f5b8 Rename current_timezone() to current_zone(): * Better symmetry with locate_zone(name). Howard Hinnant 2015-08-08 13:06:04 -04:00
  • 0fe43bab32 Merge branch 'test'. The unit tests are still very much a work in progress. But the work now lives on the master branch. Howard Hinnant 2015-08-08 12:51:54 -04:00
  • 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. Howard Hinnant 2015-08-08 12:45:55 -04:00
  • 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. gm 2015-08-03 05:30:49 +12:00
  • 2cb40efc7b Merge 832fbb1fa300c9c25fa4de68f4cad79b569b3eb3 into 225a2b6c6504bb82382e0bddb0bfca53b4941043 gmcode 2015-08-06 15:37:53 +00:00
  • 832fbb1fa3 Changes intended to be part of the previous commit. gm 2015-08-07 03:32:38 +12:00
  • 657818ef16 This commit further improves Windows support for the TZ library but it is still a WIP. This commit hopefully extends the look up for current_timezone() to work in more places. The ability to lookup an IANA timezone using a windows time zone id has been removed. That functionality has been pushed to a separate routine exposed for testing purposes. It is not a public API. gm 2015-08-07 03:29:38 +12:00
  • 225a2b6c65 Update README.md HowardHinnant 2015-08-05 21:27:20 -04:00
  • 328d2a0fd0 Update README.md HowardHinnant 2015-08-05 21:27:20 -04:00
  • 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. Howard Hinnant 2015-08-04 18:48:48 -04:00
  • 16775dccb9 Remove streaming for time_points with resolution greater... than a day. Howard Hinnant 2015-08-03 22:13:20 -04:00
  • a182b5a5a6 Merge f495abe146118d5c3bc145dba82a42bfeb2c0678 into 94237ceaa7a779afc18ce341bd260961e2992643 gmcode 2015-08-02 20:15:58 +00:00
  • 756460892c Initial unit test submission. Howard Hinnant 2015-08-02 12:09:35 -04:00
  • d640b0a647 This patch provides initial experimental support for Date/TZ for MSVC and MingW platforms. Currently VS2015 and C++14 is required for Win32. Linux should work with C++11. Use of this library with Win32 requires that TimeZoneMappings.csv exist in the install folder where the rest of the timezone database is installed. gm 2015-08-03 05:30:49 +12:00
  • 94237ceaa7 Take into account that year::ok() may now return false. Howard Hinnant 2015-08-02 12:30:49 -04:00
  • c99a40b846 Add year_month += and -= operators. Howard Hinnant 2015-08-01 19:16:33 -04:00
  • 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. Howard Hinnant 2015-08-01 16:41:03 -04:00
  • f495abe146 Merge branch 'master' into gmchanges gm 2015-07-30 11:42:52 +12:00
  • 17bd48d23c An attempt to tidy up current_timezone() Ville Voutilainen 2015-07-30 01:00:49 +03:00
  • 007bf3d3a9 change a few uses of the constdata macro to just const. gm 2015-07-30 00:59:07 +12:00
  • 09cefd5072 Merge branch 'master' into gmchanges gm 2015-07-30 00:45:04 +12:00
  • a2c632bb5b Silence a few warnings on VS. Howard Hinnant 2015-07-28 21:56:14 -04:00
  • a0c4cc5e53 Get Date compiling on MSVC. It will exhibit runtime errors though so still a work in progress. gm 2015-07-29 12:26:13 +12:00
  • 07361f9d86 Reduce technology down to what VS can handle. Howard Hinnant 2015-07-28 11:00:53 -04:00
  • 354231531f Merge c391e6512dc04fe6d0b4deef88b5d8c23c7a6ea1 into 51864f56c16bd122711e335d07010826c3ad1b92 gmcode 2015-07-27 22:47:32 +00:00
  • 51864f56c1 Try to make current time zone work with Linux. e.g. Ubuntu and Fedora gm 2015-07-28 03:29:58 +12:00
  • c391e6512d Try to make current time zone work with Linux. e.g. Ubuntu and Fedora gm 2015-07-28 03:29:58 +12:00
  • 5c370dbfd9 Port to gcc-5.2.0 on OS X. * This also fixes an overflow bug in Zone::get_info. Howard Hinnant 2015-07-25 18:01:31 -04:00
  • 0c44d8c70d Specialize streaming operator for day_point. Howard Hinnant 2015-07-20 14:58:05 -04:00
  • 12a769653e Fix rule finding logic for falling off the front of the rule list Howard Hinnant 2015-07-18 20:24:51 -04:00
  • 9858887551 Correct some silly spelling errors. Howard Hinnant 2015-07-18 18:58:48 -04:00
  • 73f70c77aa Merge branch 'master' of github.com:HowardHinnant/date Howard Hinnant 2015-07-18 17:40:36 -04:00
  • a431164fcd Add missing 'backward' file and correct output of negative values for time_of_day_storage. Howard Hinnant 2015-07-18 17:40:18 -04:00