如何将 std::chrono::time_point 转换为自纪元以来的秒
如果你有 std::chrono::time_point 如
example.cpp
std::chrono::time_point<std::chrono::system_clock> timepoint = std::chrono::system_clock::now();你可以通过首先使用将其转换为 chrono::duration 来转换为自纪元以来的秒
example.cpp
timepoint.time_since_epoch(); // Returns a duration
然后使用 std::chrono::duration_cast<std::chrono::seconds>(...).count() 将其转换为自纪元以来的 seconds 并获取纪元和时间点之间的间隔数(= 秒)。
example.cpp
std::chrono::duration_cast<std::chrono::seconds>(timepoint.time_since_epoch()).count()完整示例:
main.cpp
#include <chrono>
#include <iostream>
int main()
{
auto timepoint = std::chrono::system_clock::now();
std::cout << "Seconds since epoch: " <<
std::chrono::duration_cast<std::chrono::seconds>(timepoint.time_since_epoch()).count() << std::endl;
}例如,这会打印:
output.txt
Seconds since epoch: 1690755234Check out similar posts by category:
C/C++
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow