时间转换
请问如何用Python将 /Date(1454060831000+0800)/ 解析成 YYYY-MM-DD 的形式呢? https://www.cnblogs.com/huweijun/p/3880190.html 本帖最后由 疾风怪盗 于 2020-9-3 18:01 编辑Date(1454060831000+0800)
Data() 外包裹可以不关注 1454060831000 代表时间戳 毫秒 +0800 代表时区(北京时区)
a = 1454060831000
import datetime
datetime_array = datetime.datetime.utcfromtimestamp(a/1000)
datetime_array=datetime_array+datetime.timedelta(hours=8)
datetime_array=datetime_array.strftime("%Y-%m-%d %H:%M:%S")
print(datetime_array)
import time
datetime_array=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(a/1000))
print(datetime_array)
两种方法,第一种应该要加个时区8,第二种应该直接显示正确时间
import re, datetime
#先处理字符串
i = 'Date(1454060831000+0800)'
a = re.findall('Date\((.*?)\+(.*?)\)',i)
print(a) # ('1454060831000', '0800')
#再处理utc时间
d = datetime.datetime.utcfromtimestamp(int(a[:10]))
print(d) # 2016-01-29 09:47:11
#再处理时区偏移
u = datetime.timedelta(hours=int(a[:2]), minutes=int(a))
d1 = d.replace(tzinfo=datetime.timezone.utc).astimezone(datetime.timezone(u))
print(d1) # 2016-01-29 17:47:11+08:00
print(format(d1,'%z')) # +0800
#最后你想得到的结果
print(format(d1,'%Y-%m-%d')) # 2016-01-29 kogawananari 发表于 2020-9-4 10:06
谢谢,更全面了!
页:
[1]