diff --git a/Boost-datetime-Examples-Translated.md b/Boost-datetime-Examples-Translated.md index 5035988..7066b55 100644 --- a/Boost-datetime-Examples-Translated.md +++ b/Boost-datetime-Examples-Translated.md @@ -520,36 +520,34 @@ main() ``` ### Seconds Since Epoch +```c++ +#include "tz.h" +#include - #include "date.h" - #include "tz.h" - #include +int +main() +{ + using namespace std::chrono; + using namespace date; - int - main() - { - using namespace std::chrono; - using namespace date; + auto nyc_time = make_zoned("America/New_York", + local_days(2004_y/oct/4) + 12h + 14min + 32s); + std::cout << nyc_time << '\n'; + auto sys_epoch = sys_days{}; + std::cout << sys_epoch << '\n'; - auto nyc_time = make_zoned("America/New_York", - local_days(2004_y/oct/4) + 12h + 14min + 32s); - std::cout << nyc_time << '\n'; - auto time_t_epoch = sys_days(1970_y/1/1); - std::cout << time_t_epoch << '\n'; + // first convert nyc_time to utc via the get_sys_time() + // call and subtract the sys_epoch. + auto sys_time = nyc_time.get_sys_time(); - // first convert nyc_time to utc via the get_sys_time() - // call and subtract the time_t_epoch. - auto sys_time = nyc_time.get_sys_time(); - auto diff = nyc_time.get_sys_time() - time_t_epoch; + // Expected 1096906472 + std::cout << "Seconds diff: " << sys_time - sys_epoch << '\n'; - // Expected 1096906472 - std::cout << "Seconds diff: " << diff.count() << '\n'; + // Take leap seconds into account + auto utc_time = to_utc_time(sys_time); + auto utc_epoc = to_utc_time(sys_epoch); - // Take leap seconds into account - auto utc_time = utc_clock::sys_to_utc(sys_time); - auto utc_epoc = utc_clock::sys_to_utc(time_t_epoch); - diff = utc_time - utc_epoc; - - // Expected 1096906494, an extra 22s - std::cout << "Seconds diff: " << diff.count() << '\n'; - } + // Expected 1096906494, an extra 22s + std::cout << "Seconds diff: " << utc_time - utc_epoc << '\n'; +} +``` \ No newline at end of file