python之时间日期time
常用的时间函数如下
获取当前日期:time.time()
获取元组形式的时间戳:time.local(time.time())
格式化日期的函数(基于元组的形式进行格式化):time.asctime(time.local(time.time()))
import time timesone=time.time() timestwo=time.localtime(time.time()) timesthr=time.asctime(time.localtime(time.time())) print(timesone) print(timestwo) print(timesthr) 结果: 1535098139.5541162 time.struct_time(tm_year=2018, tm_mon=8, tm_mday=24, tm_hour=16, tm_min=8, tm_sec=59, tm_wday=4, tm_yday=236, tm_isdst=0) Fri Aug 24 16:08:59 2018
time.strftime(format[,t]) 格式化日期
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
import time print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) a = "Fri Aug 24 16:14:11 2018" print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))) 结果: [python@master time]$ python3 2.py 2018-08-24 16:18:20 Fri Aug 24 16:18:20 2018 1535098451.0
time.strptime(str,fmt='%a %b %d %H:%M:%S %Y') 根据fmt的格式把一个时间字符串解析为时间元组
import time struct_time = time.strptime("24 Aug 18", "%d %b %y") print ("返回元组: ", struct_time) 结果: [python@master time]$ python3 3.py 返回元组: time.struct_time(tm_year=2018, tm_mon=8, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=236, tm_isdst=-1)
time.mktime(tupletime) 接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)
import time t = (2009, 2, 17, 17, 3, 38, 1, 48, 0) secs = time.mktime( t ) print ("time.mktime(t) : %f" % secs) print ("asctime(localtime(secs)): %s" % time.asctime(time.localtime(secs))) 结果: [python@master time]$ python3 4.py time.mktime(t) : 1234861418.000000 asctime(localtime(secs)): Tue Feb 17 17:03:38 2009
time.sleep([secs]),单位为秒
计算时间间隔
import time def calc_time(): timeArray = time.localtime(time.time()) time.sleep(5) timestamp = time.mktime(timeArray) print('时间相差:%d' % int(timestamp-time.time())) calc_time() 结果; [python@master time]$ python3 5.py 时间相差:-5
Time模块包含了以下2个非常重要的属性:
1.time.timezone 属性time.timezone是当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)。
2.time.tzname 属性time.tzname包含一对根据情况的不同而不同的字符串,分别是带夏令时的本地时区名称,和不带的
import time print(time.timezone) print(time.tzname) 结果: [python@master time]$ python3 6.py -28800 ('CST', 'CST')
今天的你有何感想?