gpt4 book ai didi

python - 通过给出国家/地区名称和分割将 UTC 转换为本地时间

转载 作者:行者123 更新时间:2023-11-30 23:13:07 26 4
gpt4 key购买 nike

我有一个 cvs 文件,其中包含 UTC 时区的日期时间,格式如下:2014-04-19 03:39:02.000。我使用 parser.parse 来读取日期时间。我有国家名称和分区。我想根据国家和分区将此日期时间数据转换为本地时区。

csv 文件内容(UTC):美国 la 2014-04-19 03:39:02.000

本例中的本地日期时间 (UTC-6):2014-04-18 21:39:02.000

所以我有一个名为 element 的对象。我想计算本地日期时间

element.country='us'
element.subdivision='la'
element.date_time_utc=parser.parse(split_line[13].strip())
element.date_time_local

最佳答案

要从给定国家/地区和分区的 tz 数据库中查找时区,您可以尝试使用地理编码器,例如 geopy :

#!/usr/bin/env python
from datetime import datetime
import pytz # $ pip install pytz
from geopy import geocoders # $ pip install geopy

# find timezone given country and subdivision
g = geocoders.GoogleV3()
place, (lat, lng) = g.geocode('us/la')
timezone = g.timezone((lat, lng))

# parse rfc3339-like format
utc_dt = datetime.strptime('2014-04-19 03:39:02.000', '%Y-%m-%d %H:%M:%S.%f')

# convert utc to the given timezone
dt = timezone.fromutc(utc_dt)
# -> datetime.datetime(2014, 4, 18, 22, 39, 2,
# tzinfo=<DstTzInfo 'America/Chicago' CDT-1 day, 19:00:00 DST>)

地点被确定为美国路易斯安那州(如果'la'表示美国的州,则正确),因此时间为2014-04-18T22:39:02-05:00(不是 21:39)-- DST 生效(自 2014 年 3 月 9 日至 11 月 2 日)。

关于python - 通过给出国家/地区名称和分割将 UTC 转换为本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29496330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com