StackExchange 上的第一个计时器。
我正在使用 ArcGIS Server 和 Python。在尝试使用 REST 端点对地图服务执行查询时,我在 JSON 响应的负纪元中获取了 esriFieldTypeDate 字段的值。JSON 响应如下所示:
{
"feature" :
{
"attributes" : {
"OBJECTID" : 11,
"BASIN" : "North Atlantic",
"TRACK_DATE" : -3739996800000,
}
,
"geometry" :
{
"paths" :
[
[
[-99.9999999999999, 30.0000000000001],
[-100.1, 30.5000000000001]
]
]
}
}
}
我所指的字段是上述 JSON 中的“TRACK_DATE”。ArcGIS Server 返回的值始终以纪元以来的毫秒数为单位。ArcGIS Server 还提供 HTML 响应,并且同一查询的 TRACK_DATE 字段显示为“TRACK_DATE: 1851/06/27 00:00:00 UTC”。
所以,日期是 1900 年之前,我知道 Python 内置的 datetime 模块无法处理 1900 年之前的日期。我使用的是 32 位 Python v2.6。我正在尝试通过使用将其转换为日期时间
datetime.datetime.utcfromtimestamp(float(-3739996800000)/1000)
但是,这失败了
ValueError: timestamp out of range for platform localtime()/gmtime() function
在 Python 2.6 中如何处理 1900 年以前的负数时代?我看过类似的帖子,但找不到解释如何处理负面时期的帖子。