Python提供了time和calendar模块,可以用于格式化日期和时间。 Python中时间间隔是以秒为单位的浮点小数。 每个时间戳都以从1970年1月1日零点之后,经过了多长时间来表示。
获取当前时间戳,使用time模块中的time()函数:
import time ticks = time.time() print(ticks)结果为
1563424770.843349即时间的各种表示方式。
字段例子python表示属性四位数年2019tm_year月1到12tm_mon日1到31tm_mday小时0到23tm_hour分钟0到59tm_min秒0到60或61 闰秒tm_sec一周的第几天0到6,0是周一tm_wday一年的第几日1到366tm_yday夏令时-1,0,1,-1表示是夏令时tm_isdst把时间戳获得的时间传递给localtime函数,例如:
import time ticks = time.time() localtime = time.localtime(ticks) print(localtime)结果为
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=12, tm_min=48, tm_sec=30, tm_wday=3, tm_yday=199, tm_isdst=0)可以看出对应的年份,月份,天,等等信息。
通过asctime()函数可以获得格式化的时间,例如:
import time ticks = time.time() localtime = time.localtime(ticks) localtime = time.asctime(localtime) print(localtime)结果为
Thu Jul 18 12:50:43 2019time模块中的strftime方法可以格式化日期,例如:
localtime = time.localtime() # 格式化成2016-03-20 11:45:39形式 time1 = time.strftime("%Y-%m-%d %H:%M:%S",localtime) # 格式化成Sat Mar 28 22:24:24 2016形式 time2 = time.strftime("%a %b %d %H:%M:%S %Y",localtime) # 将格式字符串转换为时间戳 a = "Sat Mar 28 22:24:24 2016" time3 = time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))结果为
2019-07-18 12:53:59 Thu Jul 18 12:53:59 2019 1459175064.0 在strftime中常用的时间格式 表示描述%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 当前时区的名称calendar模块可展示日历,例如:
import calendar cal = calendar.month(2016,1) #输入年份和月份 print(cal)结果为
January 2016 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31内置函数 有时间处理的函数和转换时间的函数
表示描述time.asctime([tupletime])接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"time.clock( )用以浮点数计算的秒数返回当前的CPU时间time.localtime([secs])接收时间戳并返回当地时间下的时间元组time.mktime(tupletime)接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)。time.sleep(secs)推迟调用线程的运行,secs指秒数。time.strftime(fmt[,tupletime])接收以时间元组,并返回以可读字符串表示的当地时间time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')根据fmt的格式把一个时间字符串解析为时间元组time.time( )返回当前时间的时间戳