Meine Eingabe ist input_time = "5. Mai 2016 11:29:32". Erwartete Ausgabe sollte in Sekunden oder Millisekunden sein, was eine Art von Ganzzahl ist, d. H. Output_time = 2424241313113. Die obige Umwandlung sollte in Python durchgeführt werden. Wie wird diese Konvertierung durchgeführt?Konvertieren String Datum/Uhrzeit-Format in Ganzzahl in Sekunden in Python
Antwort
Hier ist, wie Datum Zeit in Epoche Sekunden konvertieren (datiert vom 00.00.00 UTC am 1. Januar 1970 beginnen)
In Python 3.3+
from datetime import datetime
datetime.strptime('May 5 2016 11:29:32','%b %d %Y %H:%M:%S').timestamp()
In Python 2.7.9
datetime.strptime('May 5 2016 11:29:32','%b %d %Y %H:%M:%S').strftime('%s')
Beachten Sie, dass strftime('%s')
Ihre lokale Zeitzone verwenden.
Können Sie mir sagen, dass der Rückgabewert in Sekunden oder in Millisekunden ist? – user27
Wenn der Wert einen negativen Wert erhält, für was ist das gedacht? – user27
'.strftime ('% s')' wird von Python nicht unterstützt und ist nicht portierbar. Wenn die Eingabe die lokale Zeit ist, kann 'time.mktime (dt.timpetuple())' verwendet werden. 'mktime()' und '.timestamp()', die es verwenden, können fehlschlagen, wenn Python keinen Zugriff auf eine historische Zeitzonendatenbank auf einer bestimmten Plattform hat oder wenn die Eingabezeit in der lokalen Zeitzone mehrdeutig oder nicht existent ist. – jfs
Haben Sie sich noch 'datetime' angesehen? –
Wie Ignacio erwähnt, sehen Sie sich das ['datetime'] (https://docs.python.org/2/library/datetime.html) Modul an. Genauer gesagt, ['strptime()'] (https://docs.python.org/2.7/library/datetime.html#datetime.datetime.strptime). –