提问人:Skylar Saveland 提问时间:1/8/2018 最后编辑:Skylar Saveland 更新时间:1/10/2018 访问量:5947
为什么 datetime.utcnow().timestamp() 在同一环境和终端中为 Python 和 IPython 返回不同的值
Why does datetime.utcnow().timestamp() returns different values for Python and IPython in the same environment and terminal
问:
在 IPython 中:
Python 3.6.2 (default, Sep 4 2017, 13:34:02)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: datetime.utcnow().timestamp()
Out[1]: 1515396403.049774
在 Python 中:
Python 3.6.2 (default, Sep 4 2017, 13:34:02)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> datetime.utcnow().timestamp()
1515425220.215077
>>>
IPython 的结果似乎是我的时区,而不是 UTC。
编辑:不调用返回的值在两个终端中是相同的。为什么会这样?.timestamp()
.utcnow()
编辑2:
在常规 Python 提示符中,和 的值不同。datetime.utcnow().timestamp()
datetime.utcnow().replace(tzinfo=timezone.utc).timestamp()
Python 3.6.2 (default, Sep 4 2017, 13:34:02)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import datetime, timezone
>>> datetime.utcnow().replace(tzinfo=timezone.utc).timestamp()
1515548420.130655
>>> datetime.utcnow().timestamp()
1515577235.982597
在 IPython 中,这些值是相同的。
编辑3:
在 IPython 上并返回相同的内容。在 Python 中,返回我的本地时间。now
utcnow
now
In [4]: datetime.utcnow()
Out[4]: datetime.datetime(2018, 1, 10, 1, 44, 55, 496083)
In [5]: datetime.now()
Out[5]: datetime.datetime(2018, 1, 10, 1, 45, 53, 811077)
蟒:
>>> datetime.datetime.now()
datetime.datetime(2018, 1, 9, 17, 46, 29, 754642)
>>> datetime.datetime.utcnow()
datetime.datetime(2018, 1, 10, 1, 46, 32, 865136)
答: 暂无答案
评论
.timestamp()
timestamp()
mktime()
now
utcnow