前言:
Python中对时间进行处理的常用模块有两个:time和datetime!
两者有什么区别?
可以这么认为,datetime是time的豪华加强版,但datetime不是time的进一步封装,同时datetime比time更具平台普适性!
calendar类是处理日历的,就是像墙上挂着的月历那样的格式,这里不说了,目前用的比较少!
一.time模块中时间有哪三种形式?
1. 时间戳:1502186697.249147
time中有哪几种方法能得到?
两种
import time
time.time() #返回的是现在这个时间的时间戳
time.mktime(struct_time) # 返回的是struct_time这个时间元组所代表的时间戳 ,必须带参数
2. 时间元组:time.struct_time(tm_year=2017, tm_mon=8, tm_mday=8, tm_hour=18, tm_min=4, tm_sec=57, tm_wday=1, tm_yday=220, tm_isdst=0)
time中有哪几种方法能得到?
三种
import time
time.localtime(secs) # 常用! 返回的是secs这个时间戳代表的本地(东八区)时间元组
time.gmtime(secs) # 返回的是secs这个时间戳的utc时间元组(与本地少8个小时)
time.strptime(time_string, format) #将time_string这个时间字符串转换为时间元组
前两个方法若不带参数,则默认的参数就是此时这个时间度的时间戳
strptime()方法中的format是时间格式,在这个方法中必须强制按照time_string提供的格式来,来告诉time模块要转换的时间字符串是什么样的格式,以便转换
3. 时间字符串:2017-08-08 18:04:57 Tuesday
time中有哪几种方法能得到?
三种
time.ctime(secs) # 返回的是secs这个时间戳代表的时间字符串,字符串格式是固定的
time.asctime(struct_time) # 返回的是struct_time这个时间元组代表的时间字符串,字符串格式固定
time.strftime(format, struct_time) # 返回的是将时间元组经过"格式"后的时间字符串
上述方法中第一,二个参数默认值是此时的一个时间刻度;
第三个方法中,format是必须有的,struct_time默认值是此时的时间刻度的一个时间元组
二.time模块中时间的三种形式之间的转换:
1.说明:
时间戳能和时间元组之间相互转换,且不用在意格式;
时间元组和时间字符串之间能相互转换,可以变更时间字符串的格式;
时间字符串不能直接转换为时间戳;
时间戳能够转换为时间字符串,但时间字符串的格式不能变更
2.三种形式之间转化的桥梁-时间元组(由两边到中间):
最优的转换方法,就是先将各种形式的时间先转换为时间元组,再进行变更
- 时间戳--->时间元组:
time.localtime(secs) - 时间字符串--->时间元组:
time.strptime(time_string, format) # 注:format的格式是必须跟随time_string的格式
3.时间元组转换为时间戳或时间字符串(由中间到两边):
- 时间元组--->时间戳:
time.mktime(struct_time) - 时间元组--->时间字符串:
time.strftime(format, struct_time)
注:
time方法中,所有方法的调用对象都是time
网友评论