如何将 JSON 日期转换为 Python 中的特殊格式?
How to convert JSON date to the a special format in Python?
我正在解析 Python 2.7 中的 JSON 文件,其中包括
"TimestampUtc":"\/Date(1477393888000)\/
我想解析这个文件并将日期转换为:
8:11 a.m. Oct. 25, 2016
原来的时区在美国,我想得到完全相同的输出。
但是这种格式并不常见,其他类似的问题也没有回答。有什么办法吗?
我认为你的时间戳单位是毫秒。
所以将它除以 1000 然后你得到 1467717221
。并使用日期时间模块获取时间。然后通过 strftime
.
将其转换为您的格式
from datetime import datetime
newTimeString = datetime.utcfromtimestamp(1467717221).strftime('%I:%M %p %b. %d, %Y')
您可以从这里找到格式(https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior)
你可以试试:
>>> from datetime import datetime
>>> d = "1467717221000"
>>> d = int(d[:10])
>>> datetime.fromtimestamp(d).strftime('%Y-%m-%d %I:%M:%S %p')
'2016-07-05 04:43:41 PM'
编辑:
格式更新:
>>> datetime.fromtimestamp(d).strftime(' %I:%M %p %b. %d, %y').replace("PM","p.m.").replace("AM","a.m.")
' 04:43 p.m. 07. 05, 16'
这个:
import datetime
import re
TimestampUtc = "\/Date(1467717221000)\/"
TimestampUtc = re.split('\(|\)', TimestampUtc)[1][:10]
date = datetime.datetime.fromtimestamp(int(TimestampUtc))
print date
print date.strftime('%I:%M %p %b. %d, %Y')
print date.strftime('%I:%M %p %b. %d, %Y').replace('AM', 'a.m.').replace('PM', 'p.m.')
输出:
2016-07-05 19:13:41
07:13 PM Jul. 05, 2016
07:13 p.m. Jul. 05, 2016
我正在解析 Python 2.7 中的 JSON 文件,其中包括
"TimestampUtc":"\/Date(1477393888000)\/
我想解析这个文件并将日期转换为:
8:11 a.m. Oct. 25, 2016
原来的时区在美国,我想得到完全相同的输出。 但是这种格式并不常见,其他类似的问题也没有回答。有什么办法吗?
我认为你的时间戳单位是毫秒。
所以将它除以 1000 然后你得到 1467717221
。并使用日期时间模块获取时间。然后通过 strftime
.
from datetime import datetime
newTimeString = datetime.utcfromtimestamp(1467717221).strftime('%I:%M %p %b. %d, %Y')
您可以从这里找到格式(https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior)
你可以试试:
>>> from datetime import datetime
>>> d = "1467717221000"
>>> d = int(d[:10])
>>> datetime.fromtimestamp(d).strftime('%Y-%m-%d %I:%M:%S %p')
'2016-07-05 04:43:41 PM'
编辑: 格式更新:
>>> datetime.fromtimestamp(d).strftime(' %I:%M %p %b. %d, %y').replace("PM","p.m.").replace("AM","a.m.")
' 04:43 p.m. 07. 05, 16'
这个:
import datetime
import re
TimestampUtc = "\/Date(1467717221000)\/"
TimestampUtc = re.split('\(|\)', TimestampUtc)[1][:10]
date = datetime.datetime.fromtimestamp(int(TimestampUtc))
print date
print date.strftime('%I:%M %p %b. %d, %Y')
print date.strftime('%I:%M %p %b. %d, %Y').replace('AM', 'a.m.').replace('PM', 'p.m.')
输出:
2016-07-05 19:13:41
07:13 PM Jul. 05, 2016
07:13 p.m. Jul. 05, 2016