Si può fare directrly sul costruttore: class datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,
tzinfo]]]]])
, tzinfo essendo un oggetto dervided datetime.tzinfo
.
tzinfo è una classe di base astratta, il che significa che questa classe non dovrebbe essere istanziata direttamente. È necessario derivare una sottoclasse concreta e (almeno) fornire implementazioni dei metodi standard tzinfo necessari per i metodi datetime utilizzati. Il modulo datetime non fornisce sottoclassi concrete di tzinfo.
Che cosa è necessario eseguire l'override del metodo è utcoffset(self, dt)
.
Offset di ritorno dell'ora locale da UTC, in minuti a est di UTC. Se l'ora locale è a ovest di UTC, questa dovrebbe essere negativa. Si noti che questo è inteso essere lo scostamento totale da UTC; per esempio, se un oggetto tzinfo rappresenta entrambe le regolazioni di fuso orario e DST, utcoffset() dovrebbe restituire la loro somma. Se l'offset UTC non è noto, restituire Nessuno. Altrimenti il valore restituito deve essere un oggetto timedelta che specifica un numero intero di minuti nell'intervallo compreso tra -1439 e 1439 (1440 = 24 * 60; l'entità dell'offset deve essere inferiore a un giorno). La maggior parte delle implementazioni di utcoffset() sarà probabilmente simile a uno di questi due:
return CONSTANT # fixed-offset class
return CONSTANT + self.dst(dt) # daylight-aware class
Se utcoffset() non restituisce None, dst() non dovrebbe restituire None neanche.
L'implementazione predefinita di utcoffset() solleva NotImplementedError.
Dupe- [Come traduco una stringa datetime ISO 8601 in un oggetto Python datetime?] (Http://stackoverflow.com/questions/969285/how-do-i-translate-a-iso-8601-datetime-string-in-a-python-datetime-object/3908349 # 3908349) (e la risposta è 'dateutil.parser.parse (datestring) 'in entrambi) – Yarin
correlati: [Come analizzare date con -0400 stringa timezone in python?] (http://stackoverflow.com/q/1101508/4279) – jfs