mirror of
https://github.com/HowardHinnant/date.git
synced 2025-08-04 13:14:26 +02:00
Updated Boost datetime Examples Translated (markdown)
@@ -520,8 +520,7 @@ main()
|
||||
```
|
||||
<a name="Seconds_Since_Epoch"></a>
|
||||
### Seconds Since Epoch
|
||||
|
||||
#include "date.h"
|
||||
```c++
|
||||
#include "tz.h"
|
||||
#include <iostream>
|
||||
|
||||
@@ -534,22 +533,21 @@ main()
|
||||
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';
|
||||
auto sys_epoch = sys_days{};
|
||||
std::cout << sys_epoch << '\n';
|
||||
|
||||
// first convert nyc_time to utc via the get_sys_time()
|
||||
// call and subtract the time_t_epoch.
|
||||
// call and subtract the sys_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: " << diff.count() << '\n';
|
||||
std::cout << "Seconds diff: " << sys_time - sys_epoch << '\n';
|
||||
|
||||
// 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;
|
||||
auto utc_time = to_utc_time(sys_time);
|
||||
auto utc_epoc = to_utc_time(sys_epoch);
|
||||
|
||||
// Expected 1096906494, an extra 22s
|
||||
std::cout << "Seconds diff: " << diff.count() << '\n';
|
||||
std::cout << "Seconds diff: " << utc_time - utc_epoc << '\n';
|
||||
}
|
||||
```
|
Reference in New Issue
Block a user