mirror of
https://github.com/HowardHinnant/date.git
synced 2025-08-03 12:44:27 +02:00
Updated Examples and Recipes (markdown)
@@ -1738,27 +1738,31 @@ FILETIME system_clock_to_FILETIME(system_clock::time_point systemPoint) {
|
||||
std::chrono::system_clock::time_point
|
||||
to_system_clock(boost::posix_time::ptime const& pt)
|
||||
{
|
||||
using namespace std::chrono;
|
||||
auto const dt = pt - boost::posix_time::from_time_t(0);
|
||||
using namespace std;
|
||||
using namespace boost;
|
||||
auto const dt = pt - posix_time::from_time_t(0);
|
||||
#ifdef BOOST_DATE_TIME_HAS_NANOSECONDS
|
||||
std::chrono::nanoseconds ns{dt.total_nanoseconds()};
|
||||
return system_clock::time_point{duration_cast<system_clock::duration>(ns)};
|
||||
chrono::nanoseconds ns{dt.total_nanoseconds()};
|
||||
auto sysd = chrono::duration_cast<chrono::system_clock::duration>(ns);
|
||||
return chrono::system_clock::time_point{sysd};
|
||||
#else
|
||||
std::chrono::microseconds us{dt.total_microseconds()};
|
||||
return system_clock::time_point{us};
|
||||
chrono::microseconds us{dt.total_microseconds()};
|
||||
return chrono::system_clock::time_point{us};
|
||||
#endif
|
||||
}
|
||||
|
||||
boost::posix_time::ptime
|
||||
to_ptime(std::chrono::system_clock::time_point const& st)
|
||||
{
|
||||
using namespace std::chrono;
|
||||
using namespace std;
|
||||
using namespace boost;
|
||||
#ifdef BOOST_DATE_TIME_HAS_NANOSECONDS
|
||||
posix_time::nanoseconds fs{nanoseconds{st.time_since_epoch()}.count()};
|
||||
posix_time::nanoseconds fs{
|
||||
chrono::nanoseconds{st.time_since_epoch()}.count()};
|
||||
#else
|
||||
posix_time::microseconds fs{duration_cast<microseconds>(
|
||||
st.time_since_epoch()).count()};
|
||||
posix_time::microseconds fs{
|
||||
chrono::duration_cast<chrono::microseconds>(
|
||||
st.time_since_epoch()).count()};
|
||||
#endif
|
||||
return posix_time::from_time_t(0) + fs;
|
||||
}
|
||||
|
Reference in New Issue
Block a user