diff --git a/include/date/date.h b/include/date/date.h index 7354c1a..6665411 100644 --- a/include/date/date.h +++ b/include/date/date.h @@ -989,30 +989,30 @@ inline namespace literals CONSTCD11 date::day operator "" _d(unsigned long long d) NOEXCEPT; CONSTCD11 date::year operator "" _y(unsigned long long y) NOEXCEPT; -// CONSTDATA date::month jan{1}; -// CONSTDATA date::month feb{2}; -// CONSTDATA date::month mar{3}; -// CONSTDATA date::month apr{4}; -// CONSTDATA date::month may{5}; -// CONSTDATA date::month jun{6}; -// CONSTDATA date::month jul{7}; -// CONSTDATA date::month aug{8}; -// CONSTDATA date::month sep{9}; -// CONSTDATA date::month oct{10}; -// CONSTDATA date::month nov{11}; -// CONSTDATA date::month dec{12}; -// -// CONSTDATA date::weekday sun{0u}; -// CONSTDATA date::weekday mon{1u}; -// CONSTDATA date::weekday tue{2u}; -// CONSTDATA date::weekday wed{3u}; -// CONSTDATA date::weekday thu{4u}; -// CONSTDATA date::weekday fri{5u}; -// CONSTDATA date::weekday sat{6u}; - } // inline namespace literals #endif // !defined(_MSC_VER) || (_MSC_VER >= 1900) +// CONSTDATA date::month January{1}; +// CONSTDATA date::month February{2}; +// CONSTDATA date::month March{3}; +// CONSTDATA date::month April{4}; +// CONSTDATA date::month May{5}; +// CONSTDATA date::month June{6}; +// CONSTDATA date::month July{7}; +// CONSTDATA date::month August{8}; +// CONSTDATA date::month September{9}; +// CONSTDATA date::month October{10}; +// CONSTDATA date::month November{11}; +// CONSTDATA date::month December{12}; +// +// CONSTDATA date::weekday Sunday{0u}; +// CONSTDATA date::weekday Monday{1u}; +// CONSTDATA date::weekday Tuesday{2u}; +// CONSTDATA date::weekday Wednesday{3u}; +// CONSTDATA date::weekday Thursday{4u}; +// CONSTDATA date::weekday Friday{5u}; +// CONSTDATA date::weekday Saturday{6u}; + #if HAS_VOID_T template > @@ -2501,7 +2501,7 @@ year_month_day_last::day() const NOEXCEPT date::day(31), date::day(31), date::day(30), date::day(31), date::day(30), date::day(31) }; - return month() != feb || !y_.is_leap() ? + return month() != February || !y_.is_leap() ? d[static_cast(month()) - 1] : date::day{29}; } @@ -2703,7 +2703,7 @@ year_month_day::to_days() const NOEXCEPT "This algorithm has not been ported to a 16 bit unsigned integer"); static_assert(std::numeric_limits::digits >= 20, "This algorithm has not been ported to a 16 bit signed integer"); - auto const y = static_cast(y_) - (m_ <= feb); + auto const y = static_cast(y_) - (m_ <= February); auto const m = static_cast(m_); auto const d = static_cast(d_); auto const era = (y >= 0 ? y : y-399) / 400; @@ -4851,7 +4851,8 @@ to_stream(std::basic_ostream& os, const CharT* fmt, os.setstate(std::ios::failbit); auto ld = local_days(fds.ymd); auto y = year_month_day{ld + days{3}}.year(); - auto start = local_days((y - years{1})/date::dec/thu[last]) + (mon-thu); + auto start = local_days((y-years{1})/December/Thursday[last]) + + (Monday-Thursday); if (ld < start) --y; if (*fmt == CharT{'G'}) @@ -4925,7 +4926,7 @@ to_stream(std::basic_ostream& os, const CharT* fmt, os.setstate(std::ios::failbit); auto ld = local_days(fds.ymd); auto y = fds.ymd.year(); - auto doy = ld - local_days(y/jan/1) + days{1}; + auto doy = ld - local_days(y/January/1) + days{1}; save_ostream _(os); os.fill('0'); os.flags(std::ios::dec | std::ios::right); @@ -5233,7 +5234,7 @@ to_stream(std::basic_ostream& os, const CharT* fmt, if (modified == CharT{}) #endif { - auto st = local_days(sun[1]/jan/ymd.year()); + auto st = local_days(Sunday[1]/January/ymd.year()); if (ld < st) os << CharT{'0'} << CharT{'0'}; else @@ -5278,11 +5279,13 @@ to_stream(std::basic_ostream& os, const CharT* fmt, #endif { auto y = year_month_day{ld + days{3}}.year(); - auto st = local_days((y - years{1})/12/thu[last]) + (mon-thu); + auto st = local_days((y-years{1})/12/Thursday[last]) + + (Monday-Thursday); if (ld < st) { --y; - st = local_days((y - years{1})/12/thu[last]) + (mon-thu); + st = local_days((y - years{1})/12/Thursday[last]) + + (Monday-Thursday); } auto wn = duration_cast(ld - st).count() + 1; if (wn < 10) @@ -5356,7 +5359,7 @@ to_stream(std::basic_ostream& os, const CharT* fmt, if (modified == CharT{}) #endif { - auto st = local_days(mon[1]/jan/ymd.year()); + auto st = local_days(Monday[1]/January/ymd.year()); if (ld < st) os << CharT{'0'} << CharT{'0'}; else diff --git a/include/date/tz.h b/include/date/tz.h index ae2a08c..4159c1c 100644 --- a/include/date/tz.h +++ b/include/date/tz.h @@ -2032,7 +2032,7 @@ tai_clock::to_utc(const tai_time& t) NOEXCEPT using namespace std::chrono; using duration = typename std::common_type::type; return utc_time{t.time_since_epoch()} - - (sys_days(year{1970}/jan/1) - sys_days(year{1958}/jan/1) + seconds{10}); + (sys_days(year{1970}/January/1) - sys_days(year{1958}/January/1) + seconds{10}); } template @@ -2043,7 +2043,7 @@ tai_clock::from_utc(const utc_time& t) NOEXCEPT using namespace std::chrono; using duration = typename std::common_type::type; return tai_time{t.time_since_epoch()} + - (sys_days(year{1970}/jan/1) - sys_days(year{1958}/jan/1) + seconds{10}); + (sys_days(year{1970}/January/1) - sys_days(year{1958}/January/1) + seconds{10}); } inline @@ -2065,7 +2065,7 @@ to_stream(std::basic_ostream& os, const CharT* fmt, const string abbrev("TAI"); CONSTDATA seconds offset{0}; auto tp = sys_time{t.time_since_epoch()} - - seconds(sys_days(year{1970}/jan/1) - sys_days(year{1958}/jan/1)); + seconds(sys_days(year{1970}/January/1) - sys_days(year{1958}/January/1)); auto const sd = floor(tp); year_month_day ymd = sd; auto time = make_time(tp - sys_seconds{sd}); @@ -2101,7 +2101,7 @@ from_stream(std::basic_istream& is, const CharT* fmt, if (!is.fail()) tp = tai_time{duration_cast( (sys_days(fds.ymd) + - (sys_days(year{1970}/jan/1) - sys_days(year{1958}/jan/1)) - + (sys_days(year{1970}/January/1) - sys_days(year{1958}/January/1)) - *offptr + fds.tod.to_duration()).time_since_epoch())}; return is; } @@ -2144,7 +2144,8 @@ gps_clock::to_utc(const gps_time& t) NOEXCEPT using namespace std::chrono; using duration = typename std::common_type::type; return utc_time{t.time_since_epoch()} + - (sys_days(year{1980}/jan/sun[1]) - sys_days(year{1970}/jan/1) + seconds{9}); + (sys_days(year{1980}/January/Sunday[1]) - sys_days(year{1970}/January/1) + + seconds{9}); } template @@ -2155,7 +2156,8 @@ gps_clock::from_utc(const utc_time& t) NOEXCEPT using namespace std::chrono; using duration = typename std::common_type::type; return gps_time{t.time_since_epoch()} - - (sys_days(year{1980}/jan/sun[1]) - sys_days(year{1970}/jan/1) + seconds{9}); + (sys_days(year{1980}/January/Sunday[1]) - sys_days(year{1970}/January/1) + + seconds{9}); } inline @@ -2177,7 +2179,7 @@ to_stream(std::basic_ostream& os, const CharT* fmt, const string abbrev("GPS"); CONSTDATA seconds offset{0}; auto tp = sys_time{t.time_since_epoch()} + - seconds(sys_days(year{1980}/jan/sun[1]) - sys_days(year{1970}/jan/1)); + seconds(sys_days(year{1980}/January/Sunday[1]) - sys_days(year{1970}/January/1)); auto const sd = floor(tp); year_month_day ymd = sd; auto time = make_time(tp - sys_seconds{sd}); @@ -2212,9 +2214,9 @@ from_stream(std::basic_istream& is, const CharT* fmt, is.setstate(ios::failbit); if (!is.fail()) tp = gps_time{duration_cast( - (sys_days(fds.ymd) - - (sys_days(year{1980}/jan/sun[1]) - sys_days(year{1970}/jan/1)) - - *offptr + fds.tod.to_duration()).time_since_epoch())}; + (sys_days(fds.ymd) - + (sys_days(year{1980}/January/Sunday[1]) - sys_days(year{1970}/January/1)) - + *offptr + fds.tod.to_duration()).time_since_epoch())}; return is; } diff --git a/src/tz.cpp b/src/tz.cpp index b975171..482bcb6 100644 --- a/src/tz.cpp +++ b/src/tz.cpp @@ -319,8 +319,8 @@ get_download_gz_file(const std::string& version) CONSTDATA auto min_year = date::year::min(); CONSTDATA auto max_year = date::year::max(); -CONSTDATA auto min_day = date::jan/1; -CONSTDATA auto max_day = date::dec/31; +CONSTDATA auto min_day = date::January/1; +CONSTDATA auto max_day = date::December/31; #if USE_OS_TZDB