如何将这种格式的时间转换成本地时区?

2024-09-22 14:24:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python将这个时间Sat, 19 May 2018 16:32:56 +0000转换成本地时区(本例中是EDT)中的20180519-113256。有人能教我怎么做吗?你知道吗

另外,下面的示例演示如何将时间转换为本地时区。但是我不知道如何解析Sat, 19 May 2018 16:32:56 +0000。你知道吗

Convert UTC datetime string to local datetime with Python


Tags: to示例convertdatetimestringlocal时间sat
2条回答

您可以选择任何您想要的时区:

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')

对我来说这很有效:

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)

相关问题 更多 >