我正在调用一个api并以/ Date(1500462505221)/的格式获取datetime字段。我的动机是将其转换为“ 2018-05-11 23:25:47”格式。我该怎么做?
答案 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)
您可以使用time
和re
模块执行以下操作:
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