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

Posted

技术标签:

【中文标题】如何将 datetime.date.today() 转换为 UTC 时间?【英文标题】:How to convert datetime.date.today() to UTC time? 【发布时间】: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")

【问题讨论】:

【参考方案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的当前日期是什么时候”;我同意你的看法。

以上是关于如何将 datetime.date.today() 转换为 UTC 时间?的主要内容,如果未能解决你的问题,请参考以下文章

python数据分析时间序列如何提取一个月的数据

datetime函数

02-05 Python库-time datetime

python_日历 list_5

python进阶练习之——输出日期

python datetime模块基本用法