【问题标题】:Python's Datetime: Conversion to time zones based on lat_longPython Datetime:根据 lat long 转换为时区
【发布时间】:2016-10-21 23:01:03
【问题描述】:

我一直在阅读 python 的日期时间文档,似乎有一些没有明确提及的内容。

date = datetime.datetime(2014,10,1,11,45,30)

上述日期将在哪个时区? UTC?

如果我必须确保上述日期保留在 EST 中,可以做什么。我不清楚这里的 tzinfo 对象?

如果我必须根据纬度和经度将这些日期时间转换为其他时区,我该怎么办?

【问题讨论】:

    标签: python date datetime


    【解决方案1】:

    您的代码将创建一个“时区幼稚”的日期时间对象。这意味着 - 没有时区。它将根据使用地点被解释为当地时间。

    如果您想设置时区,请尝试使用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"))
    

    至于将纬度/经度转换为时区,这不是一项简单的任务。这是讨论可能解决方案的question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多