1

我需要从用户输入中解析日期/时间字符串,并根据字符串中不可用的 timzeone 信息转换为 UTC datetime.strptime()(有什么建议吗?)。有没有一种简单的方法可以做到这一点?

理想情况下,在谷歌应用引擎上,如果可能的话,我还想从浏览器中获取带有 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 
4

1 回答 1

0

在搜索类似信息时,我遇到了一个演示应用程序引擎应用程序(包括源代码),该应用程序演示了如何以类似于您所要求的方式转换时区。但是,不幸的是,您需要为tzinfo要转换的每个时区创建自定义类(上面链接的演示应用程序中的说明/代码)。

如果您需要能够处理任何时区和/或想要采取简单的路线,我建议使用pytz模块。但是,请记住,pytz是一个相当庞大的模块,您必须将其上传到您的 GAE 实例。

于 2010-11-02T17:23:06.020 回答