Wie zu zwingen, numpy python-print datetime64 mit der angegebenen Zeitzone?
Will ich sehen, numpy datetime64 Objekte von meinem angegebenen Zeitzone.
>>> import numpy as np
>>> np.datetime64('2013-03-10T01:30:54')
numpy.datetime64('2013-03-10T01:30:54+0400')
>>> np.datetime64('2013-03-10T01:30:54+0300')
numpy.datetime64('2013-03-10T02:30:54+0400')
Python-prints datetime-Objekte immer in UTC+0400 (es ist meine lokale Zeitzone), auch wenn ich geben Sie eine andere Zeitzone >>> np.datetime64('2013-03-10T01:30:54+0300')
. Gibt es eine Möglichkeit zu zwingen, python-print von UTC+0000 Zeitzone?
Ich bin mit numpy 1.8.1 .
- Warum müssen Sie die Verwendung von numpy für diese? Haben Sie sah datetime?
- Sicher weiß ich über python-datetime-Objekte, aber früher bin ich immer datetime64 Objekte. Ich möchte sehen, datetimes in allen Zeitzonen, in der gleichen Weise.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erwähnt ein paar mal in die numpy-Dokumentation:
So, dass intern eine datetime64 ist die Verfolgung einer einzelnen ganzen Zahl, die für einen moment in der Zeit, als ein Wert, der seit der UNIX-Epoche (1970-01-01) - nicht mitgerechnet Sprung seaconds.
Daher, die Zeit-Zonen sind nicht erhalten. Wenn Sie übergeben, Zeitzonen-offset, gilt es zu bestimmen, die richtige UTC-Zeit. Wenn Sie don ' T-pass ein, es wird mit der lokalen Computer-Zeit-zone. Unabhängig von der Eingabe, bei der Ausgabe verwendet es die lokale Maschine Zeitzone Projekt der UTC-Zeit in eine lokale Zeit mit offset.
time.time()
gesetzt werden können, zurück das ist, warumtime.monotonic()
existiert für relative Zeitangaben). POSIX-Zeit zählt nicht elapsed in Sekunden seit der Epoche (1970), obwohl eine Anwendung, betrachten Sie es so also kann eine Umsetzung synchronisieren UTC und POSIX-Zeit (in einigen unbekannter Weise). Siehe Sekunden Seit Beginn der Epoche zurückKönnten Sie nennen
.item()
gibt eine naivedatetime
- Objekt repräsentiert die Zeit in UTC, die auf Daten in deinem Beispiel:Konnte man immer festlegen, die Zeitzone einstellen, bevor Sie den Druck Ihrer
datetime64
Objekte:GMT
mehrdeutig ist (ist es UTC oder Europa/London Zeitzone im winter?), verwendenUTC
statt.numpy.datetime64('1970-01-01T00:00:00+0000')
ich bekomme eine Warnung:DeprecationWarning: parsing timezone aware datetimes is deprecated; this will raise an error in the future