python utc时间、本地时间及时间戳转化

python datatime模块实现时间戳和本地时间、UTC时间之间的互相转化

  • 如何获得unix timestamp
 dt=datetime.datetime.now()       #获取本地当前时间
dt.timestamp()          #获取时间戳

注意:时间戳为当前时刻减去UTC时间(1970.1.1)零点时刻的秒数差,与当前系统所处的时区无关,同一时刻不管在任何时区下得到的时间戳都是一样的。

无论是获取本地当前时间还是获取utc时间dt=datetime.datetime.now(timezone.utc),所获得的时间戳都是相同的。

  • 通过timestamp得出datetimeutc datetime
  • timestamp转datetime
datetime.datetime.fromtimestamp(timestamp)         #获得本地时间,类型naive datetime obiect
  •  timestamp转utc datetime

两种方式获得utc时间,但datetime object类型不一样。

方式一:

 datetime.datetime.utcfromtimestamp(timestamp)     #类型naive datetime object

方式二:

 datetime.datetime.fromtimestamp(timestamp,timezone.utc)    #类型aware datetime object。   

类型naive datetime object 时间有效期是1970~2038。

总结:

  • timestamp没有时区之分,不要认为不同时区有不同的时间戳。
  • datetime object有两种类型,就算显示的值一样,不同类型的object也不能直接进行数学运算

猜你喜欢

转载自www.cnblogs.com/xiating/p/9404417.html