我一直在阅读python的日期时间文档,似乎很少有东西没有明确提到那里。
date = datetime.datetime(2014,10,1,11,45,30)
上述日期将在哪个时区? UTC?
如果我必须确保上述日期仍然在美国东部时间可以做什么。我在这里不清楚tzinfo对象吗?
如果我必须根据纬度和经度将这些日期时间转换为其他时区,我该怎么办?
答案 0 :(得分:1)
您的代码将创建一个“timezone naive”日期时间对象。这意味着 - 没有时区。它将根据其使用位置被解释为当地时间。
如果您想设置时区,请尝试使用pytz
库。
import pytz # 3rd party: $ pip install pytz
u = datetime.utcnow()
u = u.replace(tzinfo=pytz.utc) # NOTE: it works only with a fixed utc offset
# Then you can change timezones, e.g. http://www.timezoneconverter.com/cgi-bin/zoneinfo?tz=America/New_York
print u.astimezone(pytz.timezone("America/New_York"))
至于lat / lon转换为时区,这不是一项简单的任务。这是一个讨论可能解决方案的question。