如何处理“/日期(1262476800000)/”

2024-03-29 08:59:17 发布

您现在位置:Python中文网/ 问答频道 /正文

最近我从一个API收到了这个输出(我认为它是.NET驱动的)。。这是什么类型的日期格式?如何将其转换为Python日期对象?你知道吗

{
    Id: 10900001,
    ExpirationDate: "/Date(1262476800000)/",
}

它似乎是一个时间戳,但是我在fromtimestamp()上发现了解析错误

>>> from datetime import datetime
>>> datetime.fromtimestamp(float('1262476800000'))
ValueError: 'year is out of range'

Tags: 对象fromimportapiid类型datetimedate
3条回答

由于API的输出是JSON,所以我假设它是一个javascript时间戳。要将其转换为python,请删除毫秒,这样就可以了。你知道吗

从在线转换工具http://www.epochconverter.com/

GMT: Sun, 03 Jan 2010 00:00:00 GMT
>>> from datetime import datetime
>>> a = datetime.fromtimestamp(float('1262476800002')/1000)
>>> a.microsecond
2000

因为时间戳是以毫秒为单位的,所以出现错误。你只要去掉最后3个数字就行了-

>>> from datetime import datetime, timedelta
>>> s = '1262476800540'
>>> d = datetime.fromtimestamp(float(s[:-3]))
>>> d = d + timedelta(milliseconds=int(s[-3:]))
>>> print d
2010-01-03 05:30:00.540000

相关问题 更多 >