gpt4 book ai didi

time - 为什么libc中没有gmtime的反函数?

转载 作者:行者123 更新时间:2023-12-03 20:33:39 25 4
gpt4 key购买 nike

在 libc 中有两个函数可以将系统时间转换为日历时间 - gmtimelocaltime ,但只有 localtime具有反函数 - mktime .为什么gmtime没有反函数,如果不应该有,为什么 gmtime存在吗?

最佳答案

我发现这段代码工作得令人满意:

namespace std {
time_t timegm(tm* _Tm)
{
auto t = mktime(_Tm);
return t + (mktime(localtime(&t)) - mktime(gmtime(&t)));
}
}
满足测试:
auto t1 = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
auto t2 = std::timegm(std::gmtime(&t1));
EXPECT_EQ(t1, t2);

关于time - 为什么libc中没有gmtime的反函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38298261/

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