Saltar al contenido

¿Cómo convertir UTC a EST con Python y cuidar el horario de verano automáticamente?

Solución:

Necesitará usar el pytz módulo (disponible en PyPI):

import pytz
from datetime import datetime

est = pytz.timezone('US/Eastern')
utc = pytz.utc
fmt="%Y-%m-%d %H:%M:%S %Z%z"

winter = datetime(2016, 1, 24, 18, 0, 0, tzinfo=utc)
summer = datetime(2016, 7, 24, 18, 0, 0, tzinfo=utc)

print winter.strftime(fmt)
print summer.strftime(fmt)

print winter.astimezone(est).strftime(fmt)
print summer.astimezone(est).strftime(fmt)

que imprimirá:

2016-01-24 18:00:00 UTC+0000
2016-07-24 18:00:00 UTC+0000
2016-01-24 13:00:00 EST-0500
2016-07-24 14:00:00 EDT-0400

La razón por la que necesitarás usar 'US/Eastern' y no 'EST' se ejemplifica en las dos últimas líneas de salida.

Si tiene una serie pandas con tipo de datos de objeto, primero puede convertirla en una serie DateTime usando pd.to_datetime ()

df[col] = pd.to_datetime(your_series, format="%Y-%m-%d %H:%M:%S", errors="coerce")

Compruebe si es consciente de la zona horaria o no utilizando series.dt.tz

df[col].dt.tz

Si no es consciente de la zona horaria, deberíamos hacerlo mediante el uso de series.dt.tz_localize (). Además, lea sobre los parámetros ambiguos e inexistentes de esta función

df[col] = your_series[col].dt.tz_localize('UTC')

Ahora convierta esta serie en la zona horaria requerida por series.dt.tz_convert ()

df[col] = your_series[col].dt.tz_convert('US/Eastern')

El método anterior se ocupará del horario de verano. Si desea verificar más zonas horarias, puede instalar pip pytz y

import pytz
pytz.common_timezones
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *