我正在尝试将当地时间转换为“UTC”时间。
遵循本指南:How do I convert local time to UTC in Python?
但问题在于我们在这里给出的日期类型。
import pytz, datetime
local = pytz.timezone ("America/Los_Angeles")
naive = datetime.datetime.strptime ("2001-2-3 10:11:12", "%Y-%m-%d %H:%M:%S")
local_dt = local.localize(naive, is_dst=None)
utc_dt = local_dt.astimezone (pytz.utc)
在上面的代码输入是“2001-2-3 10:11:12”(字符串),但在我的情况下,它将是一个日期时间对象。
begin = begin.replace(hour=0, minute=0, second=0, microsecond=0)
有人让我知道如何在这里实现转换。
答案 0 :(得分:0)
您的字符串格式需要一些修改。您只需要在您的月份和日期中使用前导零:
import pytz, datetime
local = pytz.timezone("America/Los_Angeles")
naive = datetime.datetime.strptime ("2001-02-03 10:11:12", "%Y-%m-%d %H:%M:%S")
local_dt = local.localize(naive)
utc_dt = local_dt.astimezone(pytz.utc)
答案 1 :(得分:0)
如果您的输入(begin
)不是时间字符串,但它已经是naive (no timezone info) datetime
个对象,则删除datetime.strptime()
行(将时间字符串解析为{ {1}}对象)来自示例。要将表示本地时间的给定naive datetime
对象转换为utc:
datetime