最近遇到一个问题,需要转换时间格式,当时有点懵逼了,怎么转?知道要用time模块,但是具体的用哪个方法,记不得了,真是学的慢,忘得快啊!因此决定把这些内容系统的整理、复习一下!
time模块,python内置模块
有以下方法
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']
把相对常用的拎出来复习。
time.time()
获取当前的时间戳,格式:1542190050.8496215,返回类型<class ‘float’> 是从1970年1月1日开始计数;
time.clock()
用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用,格式:2.917376257662671e-06;
time.sleep(s)
睡眠s秒后从睡觉时的步骤继续执行;
time.localtime()
返回本地时间,类型:时间元组,示例:time.struct_time(tm_year=2018, tm_mon=11, tm_mday=14, tm_hour=18, tm_min=11, tm_sec=38, tm_wday=2, tm_yday=318, tm_isdst=0);
time.asctime(s)
用来格式化时间元组,s是由time.localtime()方法生成的时间元组,返回格式为字符串,示例:‘Wed Nov 14 18:26:55 2018’;
time.strftime() 格式化时间,将时间元组转化为字符串格式,
使用方法:time.strftime("%Y-%m-%d %H:%M:%S", [time.localtime()]),输出格式:‘2018-11-14 18:15:18’ 第二个参数不指定或者指定为time.localtime()、time.gmtime()时,其中时间格式化符可以根据需要排列,如果第二个参数是指定的元组,则必须和时间格式符相对应,数量也必须相等,否则会抛出ValueError异常; (待查)
time.strptime() 格式化时间,将字符串格式转化为时间元组,
用法:time.strptime(‘Wed Nov 14 18:26:55 2018’,’%a %b %d %H:%M:%S %Y’),输出:时间元组 其中时间格式化符可以根据需要自行组合(两个参数要一一对应),
是time.strftime()方法的逆方法;
time.mktime() 接受时间元组并转换为时间戳 使用方法:time.mktime(time.localtime());
time.timezone 返回当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲);
time.ctime([secs]) 作用相当于asctime(localtime(secs)),参数可选未给参数相当于asctime(),返回’Wed Nov 14 18:37:01 2018’;
格式化时间符
%Y 年(全称) :2018年
%y 年(简写) :18年
%m 月 [01,12].
%d 天 [01,31].
%H 小时(24小时制) [00,23].
%I 小时(12小时制)
%M 分钟 [00,59].
%S 秒 [01,61].
%z UTC时区
%a 本地星期名简写
%A 本地星期名全写
%b 本地月名简写
%B 本地月名全写
%c 本地相应的日期表示和时间表示
%p 本地上午(am)或下午(pm)的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身