2012-09-18 11 views

risposta

202

Uso datetime.replace:

from datetime import datetime 
date = datetime.strptime('26 Sep 2012', '%d %b %Y') 
newdate = date.replace(hour=11, minute=59) 
+6

Così a portata di mano, ma così facilmente trascurato. –

+0

Grazie per la rapida risposta! :) Sei curioso di sapere se c'è un modo per farlo senza la variabile data extra? (Sono un principiante di Python) – user1678031

+1

Sì, basta fare 'date = datetime.strptime ('26 set 2012 ','% d% b% Y '). Replace (hour = 11, minute = 59)'. Ho usato la variabile extra in modo che la riga non fosse troppo lunga :) – nneonneo

8

datetime.replace() fornirà le migliori opzioni. Inoltre, fornisce la possibilità di sostituire giorno, anno e mese.

Supponiamo di avere un oggetto datetime e la data è rappresentato come: "2017-05-04"

>>> from datetime import datetime 
>>> date = datetime.strptime('2017-05-04',"%Y-%m-%d") 
>>> print(date) 
2017-05-04 00:00:00 
>>> date = date.replace(minute=59, hour=23, second=59, year=2018, month=6, day=1) 
>>> print(date) 
2018-06-01 23:59:59 
Problemi correlati