gpt4 book ai didi

c++ - 有没有一种简单的方法可以在 C++ 中获取缩放的 unix 时间戳

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:13:51 25 4
gpt4 key购买 nike

我正在将一些 PHP 移植到 C++。我们的一些数据库代码将时间值存储为 unix 时间戳 *100php 包含看起来有点像这样的代码。

//PHP 
static function getTickTime()
{
return round(microtime(true)*100);
}

我需要这样的东西:

//C++
uint64_t getTickTime()
{
ptime Jan1st1970(date(1970, 1, 1));
ptime Now = microsecond_clock::local_time();
time_duration diff = Now - Jan1st1970;
return static_cast<uint64_t>(diff.total_seconds()*100);
}

这样的事情合理吗?有没有更简洁的解决方案?这段代码中有什么我看不到的讨厌的东西吗? (我猜我对 boost::date_time 的经验还不够了解这些东西)

最佳答案

最简洁、最便携的解决方案是使用 time()函数,在 <ctime> 中定义,它返回自 Unix 纪元以来的秒数。

如果你确实使用了 boost,你会想要 universal_time() , 不是 local_time() ,因为纪元是在 UTC 中指定的。

关于c++ - 有没有一种简单的方法可以在 C++ 中获取缩放的 unix 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2061520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com