Настройка индекса даты и времени для перехода на летнее время

#python #dst

#python #летнее время

Вопрос:

У меня есть набор данных с меткой времени (EST), который не был настроен для перехода на летнее время, есть ли какой-либо способ сделать это?

Примечание: мне не удалось найти похожие вопросы, затем я конвертирую в UTC, но с этим проблем нет.

Пример данных:

 DateTime,           Open,  High, Low,   Close 
2002-03-03 16:00:00,115.49,115.6,115.21,115.25
2002-03-03 20:00:00,115.25,115.41,115.05,115.15
2002-03-04 00:00:00,115.15,115.18,114.69,114.78
2002-03-04 04:00:00,114.79,114.85,114.12,114.32
2002-03-04 08:00:00,114.32,115.17,114.27,115.15
2002-03-04 12:00:00,115.13,115.18,114.83,115.01
2002-03-04 16:00:00,115.02,115.17,114.75,115.13
2002-03-04 20:00:00,115.13,115.36,115.03,115.14
2002-03-05 00:00:00,115.14,115.33,114.86,115.0 
  

Ответ №1:

Я бы предложил использовать pytz модуль. Например:

 import pytz
from dateutil import parser


def convert_timezone(dt, destination_timezone, source_timezone='UTC'):
    source_timezone = pytz.timezone(source_timezone)
    destination_timezone = pytz.timezone(destination_timezone)
    dt = source_timezone.localize(dt, is_dst=None).astimezone(destination_timezone)
    return dt.replace(tzinfo=None)


date = parser.parse("2002-03-03 16:00:00")
print convert_timezone(date, 'Israel')
  

вывод

 2002-03-03 18:00:00
  

Ответ №2:

Для анализа вашей даты и времени :

 from dateutil.parser import parse
date_object = parse("2002-03-03 16:00:00").replace(tzinfo=None)