计算秒差为零的纪元时间,获得 5:30 小时以上的时间
Calculating epoch time where difference of seconds is zero, getting 5:30 hrs more time
time_orign_epoch,应该是 1970-01-01 00:00:00,为什么我得到更多 5:30?
time_origin_epoch = datetime.datetime.fromtimestamp(0)
print time_origin_epoch
1970-01-01 05:30:00
那是因为你住在印度!
我怎么知道的?
嗯,时间戳 0 表示 1970-01-01 00:00:00 UTC。由于您的输出显示 05:30:00,您的时区是 UTC+05:30。印度是世界上为数不多的时区偏移不是整数小时的地方之一。
当您使用 fromtimestamp()
在 Python 中构建日期时间时,默认情况下使用您当地的时区进行转换。这对应于调用经典的 C 函数 localtime()
而不是 gmtime()
.
运行 你的代码给我的结果比应有的晚了五个小时。这与我在 EST 并且比 UTC 晚五个小时的事实是一致的。
如果你只是想确认正确的输出,然后检查你的时区,我猜你在东亚的某个地方。但是,如果您需要程序本身生成的零值,请尝试从程序中将您的时区重置为 UTC,然后再次 运行 该片段。
来自的回答:
如果您使用的是 Unix,您可以使用 time.tzset 更改进程的本地时区:
import os
import time
os.environ['TZ'] = tz
time.tzset()
然后您可以使用
将日期时间字符串转换为 NumPy datetime64
def using_tzset(date_strings, tz):
os.environ['TZ'] = tz
time.tzset()
return np.array(date_strings, dtype='datetime64[ns]')
time_orign_epoch,应该是 1970-01-01 00:00:00,为什么我得到更多 5:30?
time_origin_epoch = datetime.datetime.fromtimestamp(0)
print time_origin_epoch
1970-01-01 05:30:00
那是因为你住在印度!
我怎么知道的?
嗯,时间戳 0 表示 1970-01-01 00:00:00 UTC。由于您的输出显示 05:30:00,您的时区是 UTC+05:30。印度是世界上为数不多的时区偏移不是整数小时的地方之一。
当您使用 fromtimestamp()
在 Python 中构建日期时间时,默认情况下使用您当地的时区进行转换。这对应于调用经典的 C 函数 localtime()
而不是 gmtime()
.
运行 你的代码给我的结果比应有的晚了五个小时。这与我在 EST 并且比 UTC 晚五个小时的事实是一致的。 如果你只是想确认正确的输出,然后检查你的时区,我猜你在东亚的某个地方。但是,如果您需要程序本身生成的零值,请尝试从程序中将您的时区重置为 UTC,然后再次 运行 该片段。
来自
如果您使用的是 Unix,您可以使用 time.tzset 更改进程的本地时区:
import os
import time
os.environ['TZ'] = tz
time.tzset()
然后您可以使用
将日期时间字符串转换为 NumPy datetime64def using_tzset(date_strings, tz):
os.environ['TZ'] = tz
time.tzset()
return np.array(date_strings, dtype='datetime64[ns]')