Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将JSON日期转换为Python中的特殊格式?_Python_Json_Datetime_Data Conversion - Fatal编程技术网

如何将JSON日期转换为Python中的特殊格式?

如何将JSON日期转换为Python中的特殊格式?,python,json,datetime,data-conversion,Python,Json,Datetime,Data Conversion,我正在Python2.7中解析一个JSON文件,其中包括 "TimestampUtc":"\/Date(1477393888000)\/ 我想解析这个文件并将日期转换为: 8:11 a.m. Oct. 25, 2016 最初的时区在美国,我希望得到完全相同的输出。 但这种形式并不常见,其他类似的问题也无法回答。你知道怎么做吗?我想你的时间戳的单位是毫秒。 因此,将它分成1000,然后得到146771721。使用日期-时间模块获取时间。然后通过strftime将其转换为您的格式 from da

我正在Python2.7中解析一个JSON文件,其中包括

"TimestampUtc":"\/Date(1477393888000)\/
我想解析这个文件并将日期转换为:

8:11 a.m. Oct. 25, 2016
最初的时区在美国,我希望得到完全相同的输出。
但这种形式并不常见,其他类似的问题也无法回答。你知道怎么做吗?

我想你的时间戳的单位是毫秒。 因此,将它分成1000,然后得到
146771721
。使用日期-时间模块获取时间。然后通过
strftime
将其转换为您的格式

from datetime import datetime

newTimeString = datetime.utcfromtimestamp(1467717221).strftime('%I:%M %p %b. %d, %Y')
您可以在此处找到格式设置()

您可以尝试:

>>> 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'
这:

输出:

2016-07-05 19:13:41
07:13 PM Jul. 05, 2016
07:13 p.m. Jul. 05, 2016

可能重复的可能重复:我要求的输出与上述问题不同。@Harsha Biyani:谢谢,输出必须像“2016年10月28日上午9:19”。至少你可以通过修改序列来更改格式。所有答案的输出日期都与输出日期相同,但在我正在开发的网站上,它是“2016年10月28日上午9:19”而非“07年10月28日下午4:43”。这很奇怪。非常感谢您的回答,我执行了您的“TimestampUtc=“\/Date(1477657148000)\/”代码,输出是“2016年10月28日下午02:19”,但必须是“2016年10月28日上午9:19”。差别不大,但并不完全相同:(@Hulk:谢谢,我试过这个,正确的输出是“2016年10月28日上午9:19”,但在你的代码下是:“2016年7月5日上午11:13”@kissbug:非常感谢,这是最接近我问题的答案,只有一个问题,输出必须是“2016年10月28日上午9:19”但是在你的代码中它是不同的。另外,我想要9而不是09。我怎么做?是strftime的格式,你可以使用%-I而不是%I,不同的时区运行代码将得到不同的本地时间我执行你的代码“TimestampUtc=“\/Date(1477657148000)\/”,输出是“2016年10月28日下午2:19”,但它必须是”2016年10月28日上午9:19”。差别不大,但并不完全相同。这很有趣,我从美国的一个网站上获得了这段时间,我如何能够准确地提取该网站上的相同时间?在python 2.7中添加%-I会给我一个错误。
2016-07-05 19:13:41
07:13 PM Jul. 05, 2016
07:13 p.m. Jul. 05, 2016