python 中的时间与时区

带时区与不带时区不能直接加减运算,我们可以把时间统一到带UTC+00:00时区下时间进行运算。

  • 时间与时区
from datetime import datetime, timezone, timedelta
# 创建时区UTC+00:00
tz_utc = timezone(timedelta(hours=0))
# 获得带时区的UTC时间
current_time_utc = datetime.utcnow().replace(tzinfo=tz_utc)
print("current_time_utc:", current_time_utc)

# 创建时区UTC+08:00
tz_utc = timezone(timedelta(hours=8))
# 获得带时区的UTC+08:00时间
current_time_utc_8 = datetime.utcnow().replace(tzinfo=tz_utc)
print("current_time_utc_8:", current_time_utc_8)

# 本地时间
current_time = datetime.now()
print("current_time", current_time)

# 本地时区
local_time_zone = (datetime.now() - datetime.utcnow()).seconds / 3600
print("local_time_zone", local_time_zone)
  • 运行结果
current_time_utc: 2019-03-07 07:24:15.091095+00:00
current_time_utc_8: 2019-03-07 07:24:15.093092+08:00
current_time 2019-03-07 15:24:15.093092
local_time_zone 8.0
[Finished in 0.6s]
  • class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
>>> import datetime
>>> datetime.timedelta(days=1,hours=1,minutes=60, seconds=30,microseconds=25)
datetime.timedelta(1, 7230, 25)
>>> datetime.timedelta(days=1,hours=24,minutes=60, seconds=30,microseconds=25)
datetime.timedelta(2, 3630, 25)
>>> datetime.timedelta(hours=1)
datetime.timedelta(0, 3600)
>>> datetime.timedelta(hours=25)
datetime.timedelta(1, 3600)
>>> datetime.timedelta(seconds=30)
datetime.timedelta(0, 30)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值