首页 > 解决方案 > 在python中删除偏移量并将日期时间对象转换为UTC

问题描述

我正在尝试将时区感知日期时间转换为 UTC,但没有携带偏移量

我收到一些数据来创建事件的开始日期:年、月、日、小时、分钟

我有一个venue对象并使用它的经度和纬度来获取场地时区,如下所示:

from datetime import datetime
import pytz
from timezonefinder import TimezoneFinder

tf = TimezoneFinder()
tz_str = tf.timezone_at(lng=venue.longitude, lat=venue.latitude)

例如tz_str可以取值'Asia/Tokyo'

然后我创建一个时区感知日期时间对象:

start_date = datetime(2020, 3, 1, 9, 0, 0, 0, pytz.timezone(tz_str))

这将具有价值datetime.datetime(2020, 3, 1, 9, 0, tzinfo=<DstTzInfo 'Asia/Tokyo' LMT+9:19:00 STD>)

我想在存储到数据库之前将其转换为 UTC,但我不想要偏移量。

如果我只是转换为 UTC,它将保留我不想要的偏移量:

utc_start_date = start_date.astimezone(pytz.utc)

这将采用以下值datetime.datetime(2020, 2, 29, 23, 41, tzinfo=<UTC>),即 19 分钟。

如何删除偏移量?

标签: pythondatetimetimezoneutcdatetimeoffset

解决方案


推荐阅读