在处理日志文件时,我需要比较 epoc 和人类可读的时间戳。
epoc=time.strftime("%d.%m.%Y %H:%M - %Z", time.localtime(1358252743927))
print epoc
和
t1=time.gmtime(1358252743927)
print t1
都返回类似的东西
26.04.45011 22:52 - CEST
而使用 this site 转换 1358252743927返回
GMT: Tue, 15 Jan 2013 12:25:43 GMT
Your time zone: 1/15/2013 1:25:43 PM GMT+1
这是正确的时间 - 但不知何故 python 无法处理这个时间戳。
有谁知道如何转换时间戳以获得后者的结果吗?
最佳答案
看起来你的时间戳有毫秒数,gmtitme 函数无法处理它。你提到的网站可以。如果您删除这个巨大数字的最后三位数字,该网站仍会给出相同的结果,因为它不相信您真的想要 45011 年。
所以在传递之前将数字除以 1000(如果你确定,你总是得到那么高的分辨率),你就可以了:
t1 = time.gmtime(1358252743.927)
print t1
给出:
time.struct_time(tm_year=2013, tm_mon=1, tm_mday=15, tm_hour=12, tm_min=25, tm_sec=43, tm_wday=1, tm_yday=15, tm_isdst=0)
这看起来不错。
关于python - python中的纪元转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15132404/