Ho una data e ho bisogno di renderlo noto al fuso orario.pytz e astimezone() non possono essere applicati a un datetime ingenuo
local_tz = timezone('Asia/Tokyo')
start_date = '2012-09-27'
start_date = datetime.strptime(start_date, "%Y-%m-%d")
start_date = start_date.astimezone(local_tz)
now_utc = datetime.now(timezone('UTC'))
local_now = now_utc.astimezone(local_tz)
Ho bisogno di trovare se questo è vero:
print start_date>local_now
Ma ottengo questo errore.
start_date = start_date.astimezone(local_tz)
ValueError: astimezone() cannot be applied to a naive datetime
Converto utc in tokyo senza problemi. Devo rendere bene l'annuncio start_date timezone well in tokyo.
Grazie
[pytz docs] (http://pytz.sourceforge.net/) afferma che l'uso dell'attributo tzinfo fallisce direttamente per molti fusi orari. tz.localize() dovrebbe invece essere usato. – jfs
@JFSebastian per un buon esempio di come può fallire vedere http://stackoverflow.com/questions/11442183/pytz-timezone-shows-weird-results-for-asia-calcutta e notare che non ha nulla da fare con DST. –
@ J.F.Sebastian: interessante. Aggiornata la risposta. –