加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – datetime和timedelta

发布时间:2020-12-16 22:26:29 所属栏目:Python 来源:网络整理
导读:我的时区是UTC 5. 所以,当我做datetime.datetime.now()时,它给出: 2012-07-14 06:11:47.318000#note its 6AM 我想从它减去5个小时,以便它等于datetime.datetime.utcnow()所以我做了: import timefrom datetime import datetime,timedeltadt = datetime.now

我的时区是UTC 5.

所以,当我做datetime.datetime.now()时,它给出:

2012-07-14 06:11:47.318000
#note its 6AM

我想从它减去5个小时,以便它等于datetime.datetime.utcnow()所以我做了:

import time
from datetime import datetime,timedelta
dt = datetime.now() - timedelta(hours=time.timezone/60/60)
print dt
#gives 2012-07-14 11:11:47.319000

"""
Here 11 is not the PM its AM i double check it by doing
print dt.strftime('%H:%M:%S %p')
#gives 11:11:47 AM
"""

你看到它不是减去5小时而是在日期时间增加5小时?
我在这里做错了吗?

最佳答案
你正在创造一个负时间. time.timezone的值为负数:

>>> import time
>>> time.timezone
-36000

在这里,我是UTC 10,所以你的代码变成了:

>>> from datetime import timedelta
>>> print timedelta(hours=time.timezone/60/60)
-1 day,14:00:00

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读