python - 将带有时区的时间日期字符串转换为utc python
问题描述
我有一个基本字符串 + 另一个表示时区的字符串。我正在尝试返回 UTC 等价物..
timezone = "America/New_York"
scheduleDate = "2021-09-21 21:00:00"
dtimestamp = datetime.datetime.strptime(scheduleDate, '%Y-%m-%d %H:%M:%S').astimezone(
pytz.timezone(timezone)).timestamp()
sdate = datetime.datetime.utcfromtimestamp(dtimestamp).strftime('%Y-%m-%dT%H:%M:%SZ')
print(sdate)
解决方案
这可行,但不确定是否有更好的方法。我以前没有仔细看过pytz
文档。
from datetime import datetime
import pytz
timezone = "America/New_York"
scheduleDate = "2021-09-21 21:00:00"
# Convert to naive datetime
dt_naive: datetime = datetime.strptime(scheduleDate, '%Y-%m-%d %H:%M:%S')
# localize datetime with ET timezone
dt: datetime = pytz.timezone(timezone).localize(dt_naive)
# normalize datetime to UTC time
dt_utc: datetime = pytz.utc.normalize(dt)
print(str(dt_utc))
推荐阅读
- javascript - 如何发送 XML 作为快速响应?
- javascript - 根据时区将本地时间转换为不同的时间 - javascript
- ruby - What does 'load_utility' do in COSMOS?
- recursion - 如何使用迭代编写此算法?
- windows - Git 配置文件的权限被拒绝
- sql - 分组顺序整数 postgres
- html - Styling not loading correctly online
- oracle - Data migration from Oracle and transformation from XML to JSon
- python - 如何对 nan 值执行 Python DataFrame 布尔掩码
- azure - 影响 GET 请求的 Azure 函数版本