2016-08-24 2 views
0

Je suis en train d'extraire la date et l'heure de la chaîne suivante:Conversion chaîne à jour/heure à la marque 24hour: ValueError données non converti reste: 4

string = '3/24/2016 24'  # 24 is the hour 

En utilisant le code suivant:

result = datetime.strptime(string, '%m/%d/%Y %H') 

Cependant, je suis dans le message d'erreur suivant: ValueError: les données non converties restent: 4 Lead: Est-ce que strptime ne reconnaît pas 24 comme une heure (0 -> 23 contre 1 -> 24)? Et si c'est le cas, comment dois-je réparer cela puisque c'est une chaîne?

Répondre

2

Je suppose que pour traiter le cas de coin de 24, vous pouvez analyser la partie date comme une date, remplacez le mod « heure » 24, par exemple:

d, t = '3/24/2016 24'.partition(' ')[::2] 
dt = datetime.strptime(d, '%m/%d/%Y').replace(hour=int(t) % 24) 
# datetime.datetime(2016, 3, 24, 0, 0)