在日常使用python中,会遇到很多时间转化的问题,python中时间的格式有很多种,本次主要介绍time模块中的数据格式与各数据格式之间的转化函数。
time时间数据的类型
time模块中的时间总共有3种:
1、struct_time类型:以数组的形式的时间,一共有九个元素,同一个时间戳的struct_time会因为时区不同而不同;
2、指定格式时间类型:将时间设置成指定的格式,如:‘Wed Mar 20 23:12:26 2019’;
3、时间戳类型:从初始时间到指定时间的秒数,其中初始时间为1970-1-1 00:00:00,可用time.gmtime(0)查看。
time时间数据转化函数
time时间数据时间可以相互转化,也可以与其他模块的时间相互转化,本文只介绍time时间模块相互转化。
关于struct_time结构
它是一个具有命名元组接口的对象:可以通过索引和属性名访问值。存在以下值:
•index—attribute—values
•0—tm_year—年份
•1—tm_mon—月份range[1,12]
•2—tm_mday—天数range[1,31]
•3—tm_hour—小时range[0,23]
•4—tm_min—分钟range[0,59]
•5—tm_sec—秒数range[0,61]
•6—tm_wday—星期range[0,6],0是星期日
•7—tm_yday—一年中的一天range[1,366]
•8—tm_isdst—tm_isdst可以在夏令时生效时设置为1,而在夏令时不生效时设置为0。值-1表示这是未知的。
•N/A—tm_zone—时区名称的缩写
•N/A—tm_gmtoff—协调世界时以东偏移,以秒为单位.
struct_time 转 时间戳类型数据
time.mktime():执行与gmtime(), localtime()相反的操作,只接受struct_time时间格式,返回秒数来表示时间,其中起始时间0秒为1970-1-1 00:00:00。
import time
t=(2009,2,17,17,3,38,1,48,0) #结构化时间数组
secs=time.mktime(t)
print("time.mktime(t) : %f" %secs)
__________________________________
time.mktime(t) : 1234861418.000000
时间戳类型时间 转 struct_time
gmtime() :将一个时间戳转换为UTC时区(0时区)的struct_time,可选的参数sec表示从1970-1-1以来的秒数。
localtime() 函数类似gmtime(),作用是格式化时间戳为本地的时间。 如果sec参数未输入,则以当前时间为转换标准。
time.gmtime([ sec ])参数:
sec – 转换为time.struct_time类型的对象的秒数。
该函数没有任何返回值。
time.gmtime(secs)
————————————
Out[1