我需要根据用户输入解析日期/时间字符串,并根据datetime.strptime()
字符串中没有的timzeone信息转换为UTC(任何建议?)。有这么简单的方法吗?
理想情况下,在Google应用引擎上,如果可能的话,我还想从浏览器中获取本地时间tzinfo。
timezone_string = "GMT-0800"
fields = ("eventstartmonth","eventstartday", "eventstartyear", "eventstarttimehour", "eventstarttimeampm")
date_string = '_'.join(map(lambda x: self.request.get(x), fields))
# date_string = "01_11_2000_1:35_PM"
dt = datetime.datetime.strptime(date_string, "%m_%d_%Y_%I:%M_%p")
# how to convert dt into a tz-aware datetime, and then to UTC
答案 0 :(得分:0)
在搜索类似信息时,我遇到了demo app engine app(包括源代码),演示了如何以与您请求的方式类似的方式转换时区。不幸的是,您需要为要转换的每个时区创建自定义tzinfo
类(上面链接的演示应用中的说明/代码)。
如果您需要能够处理任何时区和/或想要采用简单的路线,我建议您使用pytz模块。不过请注意,pytz是一个相当庞大的模块,您必须将其上传到GAE实例。