首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中,time()返回的纪元时间总是从1970年1月1日开始测量的吗?

在Python中,time()返回的纪元时间总是从1970年1月1日开始测量的吗?
EN

Stack Overflow用户
提问于 2013-01-07 04:04:36
回答 5查看 7.9K关注 0票数 12

Python中的纪元开始时间是否独立于平台(例如,总是1/1/1970)?

或者它依赖于平台?

我想在运行Python的各种机器上序列化datetimes (以第二精度),并且能够在不同的平台上读回它们,可能也使用不同的编程语言(而不是Python)。序列化纪元时间是个好主意吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-01-07 04:09:45

The documentation说:

要找出纪元是什么,请查看gmtime(0)

我会将此解释为没有特定的时代是有保证的。

另请参见this Python-Dev thread。这似乎证实了这样的观点,即在实践中,纪元总是被假定为1970/01/01,但语言并没有明确保证这一点。

这样做的结果是,至少对于Python,您可能可以使用纪元时间,除非您正在处理陌生和晦涩的平台。对于使用非Python工具进行阅读,您可能也没问题,但要特别确保您需要阅读这些工具提供的文档。

票数 11
EN

Stack Overflow用户

发布于 2013-01-07 04:06:47

Epoch time (unix时间)是一个标准术语:

http://en.wikipedia.org/wiki/Unix_time

Unix时间,或POSIX时间,是一种用于描述时间实例的系统,定义为自协调世界时(UTC)于1970年1月1日午夜以来所经过的秒数,注释1不包括leap seconds.note 2。它在类Unix和许多其他操作系统和文件格式中被广泛使用。它既不是时间的线性表示,也不是UTC.note 3 Unix时间的真实表示。在某些Unix系统上,可以通过在命令行中键入date +%s来检查

这意味着如果你通过Python使用纪元时间,它将在不同的平台上保持一致。保持一致性的最好办法是在所有情况下都使用UTC。

票数 3
EN

Stack Overflow用户

发布于 2013-01-07 04:08:13

time()总是返回来自纪元的时间,看看documentation

请注意,Epoch始终是1970年以来的秒数,但由于不同机器上的时钟不同-您可能会遇到一些问题。

引文:

纪元是时间开始的点。在那一年的1月1日,在零点,“自纪元以来的时间”是零。对于Unix,纪元是1970年。要找出纪元是什么,请查看gmtime(0)。

和:

time.time()?

以浮点数的形式返回自纪元以来的时间(秒)。请注意,尽管时间总是以浮点数的形式返回,但并非所有系统都提供比1秒更高的时间精度。虽然此函数通常返回非递减的值,但如果系统时钟在两次调用之间被调回,则它可以返回比前一次调用更低的值。

(都来自Python文档)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14186179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档