【发布时间】:2018-12-11 19:33:15
【问题描述】:
我正在调用 api 并以这种格式 /Date(1500462505221)/ 获取日期时间字段。我的动机是将其转换为这种格式 "2018-05-11 23:25:47" 。我该如何做到这一点?
【问题讨论】:
标签: python-3.x datetime datetime-format epoch
我正在调用 api 并以这种格式 /Date(1500462505221)/ 获取日期时间字段。我的动机是将其转换为这种格式 "2018-05-11 23:25:47" 。我该如何做到这一点?
【问题讨论】:
标签: python-3.x datetime datetime-format epoch
您可以使用日期时间库让生活变得简单:
from datetime import datetime
datetime.fromtimestamp(1485714600).strftime("%Y-%m-%d %I:%M:%S")
【讨论】:
所以这是我将时间转换为人类可读格式的方法,也许这会有所帮助:
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/
【讨论】:
您可以使用 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
【讨论】: