python3 时区 时间戳 指定输入时间为东八区时间、北京时间

前言

一般的时间字符串是这样的:2021-07-24 21:23:51

*其实少了时区信息,只是默认为东八区

所以也有这样写的:2021-07-24T21:23:51+08:00

*那个+08:00就代表是东八区

也有用unix时间戳的:1627133031.994444

*时间戳就是当前时间距离1970-01-01 00:00:00的秒数,是一段时间。

*虽然北京时间多了8小时,但是计算的时候起始时间也多了8小时,那就没影响了。

*没有时区问题,但是机器看得了,人看不了,还是需要时间字符串。

一、关于时区

python3的时区是这个:datetime.datetime.tzinfo,是个抽象类,定义了接口。他自己是能算时区了,但我们要用,得先给他写实现类。

实现类官方没给,一般是用pytz、dateutil这两个三方库。听说dateutil更好。

python3默认的话,是用所处环境(win、linux)的时区。

二、关于pytz

pytz拿东八区是用这个:pytz.timezone('Asia/Shanghai')

但其实不是标准的东八区,多了6分钟

 

(1)指定输入时间为东八区时间:

本机时区的时间 = datetime.datetime.now()

原先:本机时区的时间.replace(tzinfo=pytz.timezone('Asia/Shanghai')).timestamp()

改成:pytz.timezone('Asia/Shanghai').localize(本机时区的时间).timestamp()

三、关于dateutil

pip install python-dateutil

dateutil拿东八区是用这个:tz.gettz('Asina/Shanghai')

*tz是其中的模块:from dateutil import tz

(1)指定输入时间为东八区时间:

本机时区的时间 = datetime.datetime.now()

直接:本机时区的时间.replace(tzinfo=tz.gettz('Asina/Shanghai')).timestamp()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值