时区感知日期
Posted
技术标签:
【中文标题】时区感知日期【英文标题】:Timezone aware dates 【发布时间】:2019-01-18 12:55:28 【问题描述】:我对以下内容有点困惑:
import datetime
import pytz
str(datetime.datetime.now(pytz.timezone('US/Pacific')))
str(datetime.datetime.now().replace(tzinfo=pytz.timezone('US/Pacific')))
在第一种情况下,我得到: '2018-08-10 14:21:04.129204-07:00' 在第二种情况下,我得到 '2018-08-10 14:21:17.856903-07:53' 我有点困惑为什么不返回相同的时间偏移量?
【问题讨论】:
另见***.com/questions/24856643/… 【参考方案1】:在你传递的第一行
pytz.timezone('US/Pacific')
作为
的函数参数datetime.datetime.now()
在第二行你是
.replacing
归来
datetime.datetime.now()
与
pytz.timezone('US/Pacific')
我建议你研究一下 pytz 库文档:https://pypi.org/project/pytz/
我的猜测是 pytz 输出的第一个函数被 datetime.now() 格式化为人类可读
在第二行中你只是替换了返回,因此显示为 Unix 时间
【讨论】:
以上是关于时区感知日期的主要内容,如果未能解决你的问题,请参考以下文章
Python - 给定一个时区感知的日期时间对象,我如何获得一个时区朴素的 UTC 日期时间对象?