将纪元转换为 time_t

Posted

技术标签:

【中文标题】将纪元转换为 time_t【英文标题】:convert epoch to time_t 【发布时间】:2011-03-14 01:38:37 【问题描述】:

我有一个双倍的纪元,需要传入一个需要 time_t 的函数。如何将双倍的纪元转换为 time_t?我在使用 C++ 代码的 Linux 上。谢谢。

【问题讨论】:

我认为他的意思是“自协调世界时间 1970 年 1 月 1 日 00:00:00 以来经过的秒数。” 你能给我们举个时代的例子吗? "epoch" 表示时间参考,而不是任意时间。 en.wikipedia.org/wiki/Unix_time @jason,这可能是字典的定义,但它似乎不是 queandans 使用该术语的方式。 【参考方案1】:

如果你有double 的纪元,这不应该工作吗?

time_t t = static_cast<time_t>(epoch_time);

假设你的意思是时代是

自协调世界时间 1970 年 1 月 1 日 00:00:00 起经过的秒数。

【讨论】:

00:00:00 Jan 1 1970 UCT UNIX 纪元,它是一个固定的参考时刻。 纪元是一个时间,而它本身不是一个纪元的秒数​​。

以上是关于将纪元转换为 time_t的主要内容,如果未能解决你的问题,请参考以下文章

将 time_t 转换为 int

如何将包含时间的字符串变量转换为 c++ 中的 time_t 类型?

将 long int 转换为 const time_t

无法将“const timeval”转换为“__time_t aka long int”

将 UTC 纪元转换为本地日期

使用适当的 tm_mday 将两个 time_t 之间的差异转换为 tm