17 votes

Changer l'heure avec datetime.replace() en python

Étant donné que foo est un objet datetime valide en python,

On peut changer l'heure représentée dans un horodatage (foo) en faisant quelque chose comme :

foo2 = foo.replace( hour=5 ) 

Au lieu de remplacer l'heure par une valeur particulière (comme fait ci-dessus)...est-il possible d'incrémenter l'heure dans foo de, disons, 5 heures ? Quelque chose du genre :

foo2 = foo.replace( hour += 5 ) 

ce qui n'est pas correct, je le sais...mais peut-être que cela explique mieux ce que je cherche à faire...

Je suis limité à utiliser python 2.5.1 (la version sur OS X 10.5.x) .. et je ne peux pas ajouter de modules tels que pyTZ

26voto

balpha Points 18387

C'est à ça que sert timedelta :

>>> import datetime
>>> d = datetime.datetime(2010, 12, 25, 18, 25)
>>> d + datetime.timedelta(hours = 8)
datetime.datetime(2010, 12, 26, 2, 25)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X