Python json抓取我得到的日期为';DueDate';:'/日期(1539205200000)/&x27。我不喜欢约会

Python json抓取我得到的日期为';DueDate';:'/日期(1539205200000)/&x27。我不喜欢约会,python,json,python-3.x,web-scraping,scrapy,Python,Json,Python 3.x,Web Scraping,Scrapy,我的Json文件'DueDate':'/Date(1539205200000)/','Bydate':'/Date(-62135578800000)/','needsAppoint':False 代码: 我得到的输出是: /Date(1539205200000)/ 所需输出: 07/31/2018 你确定这是正确的号码吗?一开始我认为这是一个巨大的挑战,但这导致了一年的规模过大;然而,去掉最后三个0s,我不禁想知道历元是否以毫秒而不是秒为单位(wild hand Wave假设): 或 使用

我的Json文件
'DueDate':'/Date(1539205200000)/','Bydate':'/Date(-62135578800000)/','needsAppoint':False

代码:

我得到的输出是:

/Date(1539205200000)/
所需输出:

07/31/2018 

你确定这是正确的号码吗?一开始我认为这是一个巨大的挑战,但这导致了一年的规模过大;然而,去掉最后三个
0
s,我不禁想知道历元是否以毫秒而不是秒为单位(wild hand Wave假设):


使用
date=datetime.datetime.fromtimstamp(eval(task_datetime)).strftime(“%Y-%m-%d”)将unixtimstamp转换为datetime,方法是导入
import datetime
Am获取无效语法(,第1行)确切地说,
DueDate
ByDate
是什么……数字对于一个历元来说太大了,第二个数字是负数?你确定你的JSON是正确的吗?这里需要一个整数(get type str),然后使用它将字符串
“1539205200000”
转换为整数。但是要注意三个零和我的问题,你确定这是正确的数字吗?我从jsonI得到的值是/Date(1539205200000)/我更新了我的答案:假设
o[“duedate”]
字符串的格式*始终*相同,你可以提取。@Craze,如果这解决了你的问题,请接受答案。但请注意我的第一个问题:你确定这些数字是值吗?
07/31/2018 
>>> import time
>>> time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(1539205200000))
'50745-06-22 00:00:00'
>>> time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(1539205200))
'2018-10-10 21:00:00'
>>> import datetime
>>> datetime.datetime.fromtimestamp(1539205200000)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: year is out of range
>>> datetime.datetime.fromtimestamp(1539205200)
datetime.datetime(2018, 10, 11, 7, 0)
>>> # Assuming constant format "/Date(…)/", this also removes the trailing zeroes..
>>> funky_timestamp = int(o["duedate"][6:-5])
>>> datetime.datetime.fromtimestamp(funky_timestamp).strftime("%d/%m/%Y")
'11/10/2018'
import re
import datetime
json = {'DueDate': '/Date(1539205200000)/', 'Bydate': '/Date(-62135578800000)/', 'NeedsAppointment': False}
duedate = re.findall(r'[\d]+', json['DueDate'])
datetime.datetime.fromtimestamp(float(duedate[0][:10])).strftime("%d/%m/%Y")