Usted puede hacer que directrly en el constructor: class datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,
tzinfo]]]]])
, tzinfo ser un objeto dervided datetime.tzinfo
.
tzinfo es una clase base abstracta, lo que significa que esta clase no se debe instanciar directamente. Debe derivar una subclase concreta y (al menos) suministrar implementaciones de los métodos estándar tzinfo necesarios para los métodos datetime que utiliza. El módulo de fecha y hora no proporciona subclases concretas de tzinfo.
Lo que debe sobrescribir es el método utcoffset(self, dt)
.
Desplazamiento de retorno de la hora local desde UTC, en minutos al este de UTC. Si la hora local está al oeste de UTC, esto debería ser negativo. Tenga en cuenta que esta es la compensación total de UTC; por ejemplo, si un objeto tzinfo representa los ajustes de zona horaria y horario de verano, utcoffset() debe devolver su suma. Si no se conoce el desplazamiento UTC, devuelva None. De lo contrario, el valor devuelto debe ser un objeto timedelta que especifique un número entero de minutos en el rango de -1439 a 1439 inclusive (1440 = 24 * 60; la magnitud del desplazamiento debe ser inferior a un día). La mayoría de las implementaciones de UTCOFFSET() probablemente tendrán uno de estos dos:
return CONSTANT # fixed-offset class
return CONSTANT + self.dst(dt) # daylight-aware class
Si UTCOFFSET() no devuelve Ninguno, horario de verano() no debe volver Ninguno tampoco.
La implementación predeterminada de utcoffset() aumenta NotImplementedError.
Dupe- [¿Cómo puedo traducir una cadena de fecha y hora ISO 8601 en un objeto de fecha y hora Python?] (Http://stackoverflow.com/questions/969285/how-do-i-translate-a-iso-8601-datetime-string-into-a-python-datetime-object/3908349 # 3908349) (y la respuesta es 'dateutil.parser.parse (datetring) 'en ambos) – Yarin
relacionado: [Cómo analizar las fechas con -0400 cadena de zona horaria en python?] (http://stackoverflow.com/q/1101508/4279) – jfs