简体   繁体   English

如何从std :: chrono :: system_clock :: time_point.time_since_epoch()。count()获取std :: chrono :: system_clock :: time_point?

[英]How to get std::chrono::system_clock::time_point from std::chrono::system_clock::time_point.time_since_epoch().count()?

I have a variable stored as a long a value from std::chrono::system_clock::time_point.time_since_epoch().count() . 我有存储为可变long从一个值std::chrono::system_clock::time_point.time_since_epoch().count() I would now like to restore that std::chrono::system_clock::time_point from the long variable. 我现在想从long变量中恢复该std::chrono::system_clock::time_point So how can I convert a long to a std::chrono::system_clock::time_point ? 那么如何将long转换为std::chrono::system_clock::time_point

You first need to convert the integral type to a chrono::duration , and then convert the duration to a system_clock::time_point . 您首先需要将整数类型转换为system_clock::time_point chrono::duration ,然后将duration转换为system_clock::time_point But there's a catch: 但是有一个陷阱:

duration is a template: duration是一个模板:

template <class Rep, class Period> class duration;

If you convert the integral type to the wrong duration , you'll get the wrong time_point . 如果将整数类型转换为错误的 duration ,则会得到错误的time_point

Fortunately system_clock itself tells you the correct duration with its nested duration type: system_clock::duration . 幸运的是, system_clock本身会使用嵌套的duration类型告诉您正确的duration durationsystem_clock::duration Additionally, each of these conversions is explicit . 此外,这些转换都是explicit

So, in summary: 因此,总而言之:

using namespace std::chrono;
system_clock::time_point tp{system_clock::duration{i}};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 二进制&#39;&gt; =&#39;:&#39;std :: chrono :: system_clock :: time_point&#39; - binary '>=': 'std::chrono::system_clock::time_point' boost :: serialize和std :: chrono :: system_clock :: time_point - boost::serialize and std::chrono::system_clock::time_point 是 std::atomic <std::optional<std::chrono::time_point<std::chrono::system_clock> &gt;&gt; 有效/安全? </std::optional<std::chrono::time_point<std::chrono::system_clock> - Is std::atomic<std::optional<std::chrono::time_point<std::chrono::system_clock>>> valid/safe? 如何获取 std::chrono::time_point<std::chrono::system_clock, std::chrono::seconds> 来自年、月、日、小时、分钟和秒的变量?</std::chrono::system_clock,> - How to get std::chrono::time_point<std::chrono::system_clock, std::chrono::seconds> from variables of year,month,day,hour,minute and seconds? 从持续时间构造 std::chrono::system_clock::time_point - Constructing std::chrono::system_clock::time_point from a duration 如何正确地将字符串转换为 std::chrono::system_clock::time_point? - How to properly convert string to std::chrono::system_clock::time_point? 将std :: chrono :: system_clock :: time_point :: min()转换为字符串时,无效的空指针错误 - Invalid null pointer error when converting std::chrono::system_clock::time_point::min() to string C ++将字符串时间戳转换为std :: chrono :: system_clock :: time_point - C++ Convert a string timestamp to std::chrono::system_clock::time_point 将std :: chrono :: system_clock :: time_point转换为struct timeval并返回 - Convert std::chrono::system_clock::time_point to struct timeval and back 将 C# 日期时间转换为 C++ std::chrono::system_clock::time_point - Convert C# DateTime to C++ std::chrono::system_clock::time_point
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM