Ich habe eine Zeichenfolge lfile
mit einer Datetime drin (type(lfile)
gibt <type 'str'>
) und einem Python-Datetime-Objekt wfile
. Hier ist der Code:Python konvertieren Zeichenfolge in Datetime zum Vergleich mit Datetime-Objekt
import os, datetime
lfile = '2005-08-22_11:05:45.000000000'
time_w = os.path.getmtime('{}\\{}.py' .format('C:\Temp_Readouts\RtFyar','TempReads.csv'))
wfile = datetime.datetime.fromtimestamp(time_w)
wfile
enthält diese 2006-11-30 19:08:06.531328
und repr(wfile)
gibt:
datetime.datetime(2006, 11, 30, 19, 8, 6, 531328)
Problem:
Ich muss:
lfile
in eine Python konvertieren Datetime-Objekt- vergleichen
lfile
-wfile
und bestimmt, welche Datumzeit aktueller ist
Für 1 .:
Ich bin nur in der Lage eine Teillösung erhalten mit strptime
gemäß here. Hier ist, was ich versucht:
lfile = datetime.datetime.strptime(linx_file_dtime, '%Y-%m-%d_%H:%M:%S')
Die Ausgabe lautet:
`ValueError: unconverted data remains: .000`
Frage 1
Es scheint, dass strptime()
cannot die Nanosekunden behandeln. Wie kann ich strptime()
sagen, um die letzten 3 Nullen zu ignorieren?
für 2 .:
Als ich type(wfile)
verwende ich <type 'datetime.datetime'>
bekommen. Wenn beide wfile
und lfile
Datetime-Objekte Python sind (dh, wenn Schritt 1 erfolgreich ist), würde dann this Arbeit ?:
if wtime < ltime:
print 'Linux file created after Windows file'
else:
print 'Windows file created after Linux file'
Frage 2
Oder gibt es eine andere Art und Weise, kann Python Vergleichen Sie Datetime-Objekte, um zu bestimmen, welche der beiden nach der anderen aufgetreten ist?
Danke! Das hat es getan. –