如何在python中转换纪元日期时间?

时间:2018-07-03 13:03:56

标签: python-3.x datetime datetime-format epoch

我正在调用一个api并以/ Date(1500462505221)/的格式获取datetime字段。我的动机是将其转换为“ 2018-05-11 23:25:47”格式。我该怎么做?

3 个答案:

答案 0 :(得分:1)

您可以使用日期时间库来简化生活:

from datetime import datetime

datetime.fromtimestamp(1485714600).strftime("%Y-%m-%d %I:%M:%S")

答案 1 :(得分:0)

这就是我将时间转换为人类可读格式的方法,也许可以帮忙:

import time
time.strftime("%a, %d %b %Y %H:%M:%S %Z", time.localtime(1500462505221))

time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1500462505221))

还有另一件事,我尝试通过删除如下的最后三位数字并将其作为输出来尝试此示例:

>>time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1500462505))
>>'2017-07-19 11:08:25'

您也可以参考以下链接: [https://www.systutorials.com/241698/how-to-convert-epoch-timestamp-to-human-readable-date-format-in-python/

答案 2 :(得分:0)

您可以使用timere模块执行以下操作:

import re, time

epoch_str = "/Date(1500462505221)/"
date = re.match(r'/Date\((\d+)\)/', epoch_str).groups()[0]
epoch_fmt = time.strftime('%Y-%M-%d %H:%M:%S', time.gmtime(float(date)))
# Or you can do
# date_ = time.gmtime(float(date))
# epoch_fmt = '{}-{}-{} {}:{}:{}'.format(date_.tm_year, date_.tm_mon, date_.tm_mday, date_.tm_hour, date_.tm_min, date_.tm_sec) 
print(epoch_fmt)
# 49517-20-07 04:20:21