Python的time.time()时区是否具体?

0xc*_*0de 33 python time timezone datetime

对于提出过于基本问题的道歉,但在阅读文档后我无法清除它.我似乎错过了,或者误解了一些过于基本的东西.

time.time()来自不同时区的呼叫同时会产生不同的结果吗?这可能归结为定义epoch,在文档上(以及我在互联网上的不那么深的搜索),没有提到时区.

另外,假设time.time()已从具有不同时区的地方调用,并datetime在其计算机上转换为UTC ,它们是否都会给出相同的UTC时间?

phi*_*hag 19

是,time.time()返回自未指定的纪元以来的秒数.请注意,在大多数系统上,这并没有包括闰秒,虽然它是可以配置你的系统时钟,包括他们.在cpython上,time.time实现为对C函数的调用time,根据C标准的 §27.23.2.4.2,不必使用指定的纪元:

time函数确定当前日历时间.未指定值的编码.

在几乎所有的操作系统(包括Linux,Mac OSX版,Windows和其他的Unix),时代是1970-1-1 00:00 UTC,以及这些系统time.time时区无关.

  • time() 返回“time() 返回时间作为自纪元以来的秒数,1970-01-01 00:00:00 +0000 (UTC)。” 根据 time(2) 手册页。 (3认同)
  • @AaronDigulla事实证明,time.time也在Windows上使用相同的纪元.只有少数系统实际上将时间作为自大纪元以来的秒数返回 - 大多数都没有闰秒.从[`time(2)`](http://linux.die.net/man/2/time):`这个值与时间和纪元之间的实际秒数不一样(... )`. (2认同)