【问题标题】:How to convert datetime.date.today() to UTC time?如何将 datetime.date.today() 转换为 UTC 时间?
【发布时间】:2015-02-19 15:12:36
【问题描述】:

如何确保datetime.date.today() 转换为UTC 时间?

这是我目前的代码:

#today : 2014-12-21
today = datetime.date.today()

#1900-01-01 16:00:00+00:00
timeformat = datetime.datetime.strptime('16:00', '%H:%M').replace(tzinfo=pytz.utc)

#combine today and timeformat  2014-12-21 16:00:00
now = datetime.datetime.combine(u, timeformat.time())
str_now =  now.strftime("%Y-%m-%d %H:%M:%S")

【问题讨论】:

    标签: python pytz


    【解决方案1】:

    用于打印日期和时间,您可以使用 ...

    tomorrow =  twtomorrow.strftime("%Y-%m-%d %H:%M:%S")
    

    而不是

    tomorrow =  twtomorrow.strftime("%Y-%m-%d")
    

    【讨论】:

      【解决方案2】:

      使用utcnow:

      today = datetime.datetime.utcnow().date()
      

      【讨论】:

      • 这是不正确的,除非当地时间的午夜 (date.today()) 与 UTC 的午夜 (.utcnow().date()) 的时间实例相同。见How do I get the UTC time of “midnight” for a given timezone?
      • 它和午夜有什么关系?它只是获取 UTC 现在所在的日期。
      • @webjunkie:看问题标题,注意:date.today() 那里。它返回 local 时区的日期。该值会在 local 时区的午夜发生变化。 23:59:59 是一天,00:00:00 是另一天。你在追吗?那一刻:本地时区的00:00 对应于不同 UTC 时间,具体取决于本地时区,例如,纽约的2016-02-27 00:00 对应于2016-02-27 05:00 UTC。如果问题标题是“现在UTC的当前日期是什么时候”;我同意你的看法。
      猜你喜欢
      • 2016-06-11
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 2013-08-13
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      相关资源
      最近更新 更多