python - python中的纪元转换

标签 python timestamp epoch

在处理日志文件时,我需要比较 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/

相关文章:

python - 在 IPython Notebook 中管理需求?

iphone - timeIntervalSince1970 的奇怪行为

php - Laravel 时间戳计算

sql - Oracle 时间戳 : extract full hour

java - 如何在 Java 8 (Scala) 中将日期时间字符串转换为长(UNIX 纪元时间)毫秒

python - 如何在正则表达式模式中查找正则表达式模式

python - 如何将 OpenDocument 电子表格转换为 pandas DataFrame?

python - 任何人都可以帮我检查这个 python 代码吗?

java - 时代困惑,需要澄清

java - 从纪元时间/时间戳中删除毫秒 | java