как создать дату и время из отрицательной эпохи в Python
Первый таймер на StackExchange.
Я работаю с ArcGIS Server и Python. При попытке выполнить запрос с использованием конечной точки REST к картографическому сервису я получаю значения для поля esriFieldTypeDate в отрицательной эпохе в ответе JSON. Ответ JSON выглядит следующим образом:
{
"feature" :
{
"attributes" : {
"OBJECTID" : 11,
"BASIN" : "North Atlantic",
"TRACK_DATE" : -3739996800000,
}
,
"geometry" :
{
"paths" :
[
[
[-99.9999999999999, 30.0000000000001],
[-100.1, 30.5000000000001]
]
]
}
}
}
Поле, на которое я ссылаюсь, это "TRACK_DATE» в приведенном выше JSON. Значения, возвращаемые 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.datetime.utcfromtimestamp(float(-3739996800000)/1000)
Однако это не с
ValueError: timestamp out of range for platform localtime()/gmtime() function
Как работать с эпохами, которые отрицательны и до 1900 года в Python 2.6? Я просмотрел похожие посты, но не смог найти ни одного, объясняющего работу с негативными эпохами.