font python time dst

font - Horario de verano de Python



subplot title python (3)

¿Cómo verifico si el horario de verano está vigente?


Ampliando la respuesta de @Greg Hewgill más arriba, además de lidiar con la zona horaria local (con la ayuda de pip install tzlocal ), obtienes:

import time from datetime import datetime, timedelta from tzlocal import get_localzone def to_local(dt): """From any timezone to local datetime - also cope with DST""" localtime = time.localtime() if localtime.tm_isdst: utctime = time.gmtime() hours_delta = timedelta(hours=(localtime.tm_hour - utctime.tm_hour)) dt = dt - hours_delta return dt.replace(tzinfo=get_localzone())


Si desea verificar si la luz del día está actualmente vigente con la configuración actual de la computadora, utilice time.daylight.

>>> import time >>> print time.daylight

time.daylight solo dice si la computadora está o no en horario de verano, no si la computadora ha configurado "Ajustar automáticamente el reloj para los cambios de horario de verano". Para aquellas computadoras que no tienen ajuste de horario de verano, time.daylight siempre será 0 durante todo el año.

Una forma de determinar si la computadora se ajustará para el horario de verano durante el año es obtener la tupla devuelta por time.tzname y si son diferencias (es decir, len (set (time.tzname))! = 1), entonces el la computadora tiene activado el ajuste de ahorro de luz diurna.


Puede usar time.localtime y mirar el indicador tm_isdst en el valor de retorno.

>>> import time >>> time.localtime() (2010, 5, 21, 21, 48, 51, 4, 141, 0) >>> _.tm_isdst 0

Usando time.localtime() , puede hacer la misma pregunta para cualquier hora arbitraria para ver si DST estaría (o estaba) en vigencia para su zona horaria actual.