python中time模块是我们经常用到的,这个模块主要有三种处理时间的方法
1.timestamp时间戳
2.时间元祖struct_time
3.格式化时间strptime和mktime
我们首先来讲讲time()
import time print(time.time())
打印出当前时间戳是一个7位小数的浮点数值
1546658552.8154871
localtime()会返回一个时间元祖列表
print(time.localtime())
打印出结果是
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=5, tm_hour=11, tm_min=22, tm_sec=32, tm_wday=5, tm_yday=5, tm_isdst=0)
通过这个方法我们得到一个tuple后面可以对这个元祖进行格式化,得到一个时间的字串
例如
ctime()和asctime()生成一个固定的时间格式
print(time.ctime()) print(time.asctime())
打印出
Sat Jan 5 11:30:05 2019 Sat Jan 5 11:30:05 2019
接下来我们看看如何格式化时间戳
print(time.strftime("%Y%m%d", time.localtime()))
打印出
20190105
参数说明:
format -- 格式字符串。 t -- 可选的参数t是一个struct_time对象 python中时间日期格式化符号: %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 当前时区的名称 %% %号本身
使用strptime可以将时间字符串转换成struct_time的元祖,例
print(time.strptime("2018-12-12", "%Y-%m-%d"))
打印出
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=346, tm_isdst=-1)
将以上二维元祖也是可以转回时间戳的
strtime = time.strptime("2018-12-12", "%Y-%m-%d") print(int(time.mktime(strtime)))
打印出
1544544000
默认是返回一个一位小数的浮点数
最后就是sleep函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间
time.sleep(3)