Pierwszy timer na StackExchange.jak utworzyć datę i godzinę z negatywnej epoki w Pythonie
Pracuję z ArcGIS Server i Python. Podczas próby wykonania kwerendy przy użyciu punktu końcowego usługi REST do usługi map, otrzymuję wartości dla pola, które jest esriFieldTypeDate w negatywnej epoce w odpowiedzi JSON. Odpowiedź JSON wygląda następująco:
{
"feature" :
{
"attributes" : {
"OBJECTID" : 11,
"BASIN" : "North Atlantic",
"TRACK_DATE" : -3739996800000,
}
,
"geometry" :
{
"paths" :
[
[
[-99.9999999999999, 30.0000000000001],
[-100.1, 30.5000000000001]
]
]
}
}
}
Pole Mam na myśli to „TRACK_DATE” w powyższym JSON. Wartości zwracane przez ArcGIS Server są zawsze w milisekundach od epoki. Serwer ArcGIS dostarcza również odpowiedź HTML, a pole TRACK_DATE dla tego samego zapytania jest wyświetlane jako "TRACK_DATE: 1851/06/27 00:00:00 UTC".
Tak, data jest przed 1900 i rozumiem, że wbudowany moduł datetime w Pythonie nie jest w stanie obsłużyć dat sprzed 1900 roku. Używam 32-bitowego Pythona v2.6. Próbuję przekonwertować je do datetime przy użyciu
datetime.datetime.utcfromtimestamp(float(-3739996800000)/1000)
Jednak to nie z
ValueError: timestamp out of range for platform localtime()/gmtime() function
Jak jeden utwór z epoki, które są negatywne i pre 1900 w Pythonie 2.6? Przyjrzałem się podobnym postom, ale nie mogłem znaleźć takiego, który tłumaczyłby pracę z negatywnymi epokami.
To działa również dla mnie !! Dziękuję bardzo Jason. – Anand