mirror of
https://github.com/HowardHinnant/date.git
synced 2025-08-04 21:24:26 +02:00
Updated Boost datetime Examples Translated (markdown)
@@ -520,8 +520,7 @@ main()
|
|||||||
```
|
```
|
||||||
<a name="Seconds_Since_Epoch"></a>
|
<a name="Seconds_Since_Epoch"></a>
|
||||||
### Seconds Since Epoch
|
### Seconds Since Epoch
|
||||||
|
```c++
|
||||||
#include "date.h"
|
|
||||||
#include "tz.h"
|
#include "tz.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
@@ -534,22 +533,21 @@ main()
|
|||||||
auto nyc_time = make_zoned("America/New_York",
|
auto nyc_time = make_zoned("America/New_York",
|
||||||
local_days(2004_y/oct/4) + 12h + 14min + 32s);
|
local_days(2004_y/oct/4) + 12h + 14min + 32s);
|
||||||
std::cout << nyc_time << '\n';
|
std::cout << nyc_time << '\n';
|
||||||
auto time_t_epoch = sys_days(1970_y/1/1);
|
auto sys_epoch = sys_days{};
|
||||||
std::cout << time_t_epoch << '\n';
|
std::cout << sys_epoch << '\n';
|
||||||
|
|
||||||
// first convert nyc_time to utc via the get_sys_time()
|
// 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 sys_time = nyc_time.get_sys_time();
|
||||||
auto diff = nyc_time.get_sys_time() - time_t_epoch;
|
|
||||||
|
|
||||||
// Expected 1096906472
|
// Expected 1096906472
|
||||||
std::cout << "Seconds diff: " << diff.count() << '\n';
|
std::cout << "Seconds diff: " << sys_time - sys_epoch << '\n';
|
||||||
|
|
||||||
// Take leap seconds into account
|
// Take leap seconds into account
|
||||||
auto utc_time = utc_clock::sys_to_utc(sys_time);
|
auto utc_time = to_utc_time(sys_time);
|
||||||
auto utc_epoc = utc_clock::sys_to_utc(time_t_epoch);
|
auto utc_epoc = to_utc_time(sys_epoch);
|
||||||
diff = utc_time - utc_epoc;
|
|
||||||
|
|
||||||
// Expected 1096906494, an extra 22s
|
// 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