你真的了解Python中的日期时间处理吗?

2020-06-19 00:00:00 日期 时间 字符串 类型 转换
Python中关于时间、日期的处理库有三个:time、datetime和Calendar,其中datetime又有datetime.date、datetime.time、datetime.datetime三个类。而时间又可以分为时间戳、本地时间和UTC时间(世界标准时间)。是不是听起来有点乱?那么他们相互之间有什么区别?有什么联系?又如何转换呢?

time模块

在time模块中,时间有三种表现形式:

  • 时间戳,一般指Unix时间戳,是从1970年开始到现在的秒数。
  • 本地时间的struct_time形式:一个长度为11的命名元组,位为年,第二位为月....
  • UTC时间的struct_time形式:一个长度为11的命名元组,类似于上个,只不过为UTC时间

其中后两者的类型一致,区别在于一个是本地时间(localtime),一个是utc时间。

各种时间形式的获取方式:

print("time stamp:", time.time())         # 时间戳:1479193181.829338

print("local time:", time.localtime())    # struct_time类型的本地时间
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=15, tm_hour=14, tm_min=59, tm_sec=41, tm_wday=1, tm_yday=320, tm_isdst=)

print("utc time:", time.gmtime())         # struct_time类型的utc时间
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=15, tm_hour=6, tm_min=59, tm_sec=41, tm_wday=1, tm_yday=320, tm_isdst=)

相关文章