Konvertieren Sie das Zeichenfolgedatum in Python in einen Zeitstempel
Wie konvertiert eine string im format "%d/%m/%Y"
zu timestamp?
"01/12/2011" -> 1322697600
InformationsquelleAutor der Frage Shankar Cabus | 2012-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor der Antwort Katriel
Konvertieren den string in ein date-Objekt:
Dem Weg zur Umwandlung der Datums-Objekt in einen POSIX-timestamp hängt von timezone. Von Konvertieren Sie die
datetime.date
um die UTC-Zeitstempel in Python:date-Objekt repräsentiert Mitternacht in UTC
date-Objekt repräsentiert Mitternacht Ortszeit
Die Zeitstempel unterschiedlich sind, es sei denn, midnight in UTC und local time, ist der gleichen Zeit Instanz.
InformationsquelleAutor der Antwort jfs
InformationsquelleAutor der Antwort San4ez
benutze ich
ciso8601
die 62x schneller als datetime - strptime.erfahren Sie mehr unter hier
InformationsquelleAutor der Antwort Eyal Ch
Hängt die Antwort auch auf Ihre Eingabe, Datum, Zeitzone. Wenn Sie das Datum ist ein Datum, dann können Sie mktime() wie katrielalex gesagt - nur ich sehe nicht ein, warum er verwendet, datetime, statt diese kürzere version:
Aber beobachten, dass mein Ergebnis ist anders als seine, da bin ich wohl in einer anderen TZ (und das Ergebnis ist timezone-freie UNIX-timestamp)
Nun, wenn die Eingabe-Datum bereits in UTC, als ich glaube, die richtige Lösung ist:
InformationsquelleAutor der Antwort Nowakus
Zuerst müssen Sie die strptime Klasse konvertieren den string in eine struct_time-format.
Dann verwenden Sie einfach mktime von dort aus, um Ihren Schwimmer.
InformationsquelleAutor der Antwort Cryptite
Ich würde vorschlagen,dateutil:
InformationsquelleAutor der Antwort törzsmókus
verwenden Sie einfach die datetime.timestamp(Ihr datetime instanse), datetime-Instanz enthält die Zeitzone-Informationen, also der timestamp wird ein standard-utc-Zeitstempel. wenn Sie transformieren die datetime in timetuple, es wird verlieren Sie die Zeitzone, so das Ergebnis wird sein Fehler.
wenn Sie möchten, um eine Schnittstelle, Sie sollten schreiben, wie diese:
int(datetime.timestamp(time_instance)) * 1000
InformationsquelleAutor der Antwort user6689187
Viele dieser Antworten nicht die Mühe, zu berücksichtigen, dass das Datum naiv, um zu beginnen mit
Korrekt zu sein, Sie brauchen, um die naive Datum, Zeitzone bewusst datetime ersten
Auch:
Vorsichtig sein, mit
pytz
fürtzinfo
imdatetime.datetime
FUNKTIONIERT NICHT für viele Zeitzonen. Sehen datetime mit pytz Zeitzone. Verschiedene offset je nachdem, wie tzinfo eingestellt isthttps://en.wikipedia.org/wiki/Local_mean_time
InformationsquelleAutor der Antwort MrE
Scheint zu sein, sehr effizient:
1.61 µs ± 120 ns pro loop (mean ± std. dev. 7 läuft, 100000-loops)
InformationsquelleAutor der Antwort Gerard