第四章:日期和时间-datetime:日期和时间值管理-时区

4.2.8 时区
在datetime中,时区由tzinfo的子类表示。由于tzinfo是一个抽象基类,实际使用时,应用需要定义它的一个子类,并为一些方法提供适当的实现。
datetime在类timezone中确实包含一个原生实现,该类使用了一个固定的UTC偏移。这个实现不支持一年中不同日期有不同的偏移量,如果有些地方采用夏令时,或者有些地方UTC偏移会随时间改变。

import datetime

min6 = datetime.timezone(datetime.timedelta(hours=-6))
plus6 = datetime.timezone(datetime.timedelta(hours=6))
d = datetime.datetime.now(min6)

print(min6, ':', d)
print(datetime.timezone.utc, ':',
      d.astimezone(datetime.timezone.utc))
print(plus6, ':', d.astimezone(plus6))

# Convert to the current system timezone.
d_system = d.astimezone()
print(d_system.tzinfo,'       :',d_system)

要把一个datetime值从一个时区转换为另一个时区,可以使用astimezone().在前面的例子找那个,显示了UTC两侧正负6个小时的两个不同时区,另外还使用了由datetime.timezone得到的utc实例来作为参考。最后的输出行显示了系统时区的值,这是不提供任何参数调用astimezone()得到的。
运行结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值