J'ai une chaîne lfile
avec un datetime en elle (type(lfile)
donne <type 'str'>
) et un objet datetime Python wfile
. Voici le code:Python convertir la chaîne en datetime pour la comparaison à l'objet datetime
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
contient ce 2006-11-30 19:08:06.531328
et repr(wfile)
donne:
datetime.datetime(2006, 11, 30, 19, 8, 6, 531328)
Problème:
J'ai besoin de:
- convertir
lfile
en Python objet datetime - comparer
lfile
-wfile
et déterminer qui datetime est plus récente
Pour 1 .:
Je ne suis en mesure d'obtenir une solution partielle à l'aide strptime
selon here. Voici ce que j'ai essayé:
lfile = datetime.datetime.strptime(linx_file_dtime, '%Y-%m-%d_%H:%M:%S')
La sortie est:
`ValueError: unconverted data remains: .000`
Question 1
Il semble que strptime()
cannot gérer les nanosecondes. Comment puis-je dire strptime()
pour ignorer les 3 derniers zéros?
Pour 2 .:
Quand j'utilise type(wfile)
je reçois <type 'datetime.datetime'>
. Si les deux wfile
et lfile
sont des objets datetime Python (si l'étape 1. est réussie), serait alors this travail ?:
if wtime < ltime:
print 'Linux file created after Windows file'
else:
print 'Windows file created after Linux file'
Question 2
Ou est-il une autre façon dont Python peut comparer les objets datetime pour déterminer lequel des deux a eu lieu après l'autre?
Merci! C'est ce qu'il a fait. –