Как перевести время в этом формате в местный часовой пояс? - PullRequest
0 голосов
/ 19 мая 2018

Я хотел бы преобразовать это время Sat, 19 May 2018 16:32:56 +0000 в 20180519-113256 в местном часовом поясе (EDT в этом примере) в python.Кто-нибудь может показать мне, как это сделать?

PS., В следующем примере показано, как преобразовать время в местный часовой пояс.Но я не уверен, как анализировать Sat, 19 May 2018 16:32:56 +0000.

Преобразовать строку даты и времени UTC в локальную дату и время с Python

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Вы можете выбрать любой часовой пояс:

import pytz
from datetime import datetime

s = 'Sat, 19 May 2018 16:32:56 +0000'
dt = datetime.strptime(s, '%a, %d %b %Y %H:%M:%S %z')
tz = pytz.timezone('America/Chicago')
new_s = dt.astimezone(tz).strftime('%Y%m%d-%H%M%S')
0 голосов
/ 19 мая 2018

для меня это работает:

from datetime import datetime
from dateutil import tz

def convert(date, from_zone = 'UTC', to_zone='America/New_York'):
    from_zone = tz.gettz(from_zone)
    to_zone = tz.gettz(to_zone)
    date = date.replace(tzinfo=from_zone)
    central = date.astimezone(to_zone)
    return date

s = "Sat, 19 May 2018 16:32:56 +0000"
d = datetime.strptime(s, '%a, %d %B %Y %H:%M:%S +%f')
d = convert(d)
...