【问题标题】: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' 我有点困惑为什么不返回相同的时间偏移量?

【问题讨论】:

标签: python datetime


【解决方案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 时间

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 2014-04-13
    • 2020-11-20
    • 1970-01-01
    相关资源
    最近更新 更多