2017-12-26 14 views
0

Ich versuche dieses komplizierte Datetime-Format zu konvertieren, nachdem ich das bekommen habe Fehler:konvertieren 'November 11, 2017 5:19:38 AM PST' zu JJJJ-MM-TT HH: MM [: ss [.uuuuuu]] [TZ] -Format

[u"'Nov 11, 2017 5:19:38 AM PST' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."] 

Ich baue diese Funktion, aber ich bin mir nicht sicher, wie man den Monat als ein Wort behandelt. Diese ist ein Beispiel für das Datum, wie es in der CSV-Datei ist: 1. November 2017 00.00.13 PDT

Ich habe kein Glück:

def process_datetime(self,dt): 
    d_time = datetime.strptime(dt, '') 
    return datetime.strftime(d_time, 'YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]') 
+0

Versuchen '% b' für den abgekürzten Monat. Siehe hier: https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior – pault

+0

(dt, '% b% d,% Y% -I:% M:% S% p% Z ') –

Antwort

0

try Code unten, Kredit diese Antwort geht an (https://stackoverflow.com/a/26435566/6039974)

from datetime import datetime, timedelta 
from email.utils import parsedate_tz, mktime_tz 

given_date = "Nov 1, 2017 12:00:13 AM PDT"; 

timestamp = mktime_tz(parsedate_tz(given_date)) 
utc_dt = datetime(1970, 1, 1) + timedelta(seconds=timestamp) 
print(utc_dt) 

druckt

2017-11-01 12:00:13 
Verwandte Themen