Beim Schreiben des Codes zum Sortieren der Daten in chronologischer Reihenfolge hat die Verarbeitung des Zeitstempels einschließlich des englischen Namens des Monats viel Zeit in Anspruch genommen. Machen Sie sich also eine Notiz.
Ich möchte den Zeitstempel in ein Datum / Uhrzeit-Objekt konvertieren, um die Zeiten zu vergleichen, aber der Zeitstempel mit englischen Namen wie Jan und Feb kann nicht so konvertiert werden, wie er ist.
Verwenden Sie daher das Kalendermodul, um den englischen Namen dem Monat anzupassen.
test.py
import datetime
import calendar
timestamp = "Dec 3 14:55:51"
words = timestamp.split(" ")
months = {}
for i ,v in enumerate(calendar.month_abbr):
months[v] = i
time_string = "2015-" + str(months[words[0]]) + "-" + str(words[1]) + " " + words[2]
time_datetime = datetime.datetime.strptime(time_string, '%Y-%m-%d %H:%M:%S')
Dadurch wird erfolgreich ein Datum / Uhrzeit-Objekt erstellt. Es ist nicht vielseitig, weil es ein großes Gefühl der Entschlossenheit hat, aber es ist ein Memo.
Wie Sie in den Kommentaren betont haben, scheint das datetime-Dokument die Konvertierung vom englischen Namen des Monats zu enthalten. Ich habe es übersehen. 8.1.7. Verhalten von strftime () und strptime ()
Wir haben auch Informationen erhalten, dass Sie bei Verwendung von python-dateutil die feste Jahreszahl entsprechend lösen können. Vielen Dank.
Zeichenfolge <-> Datum (Datum / Uhrzeit) in Python konvertieren Position des Monatsnamens der englischen Python-Abkürzung (Jan, Feb, Mar, Apr…)
Recommended Posts