python-时间模块-3大常见时间处理模块-time(六)
1.常见的python三大处理时间模块。
- time
- calendar
- datetime
1.1 time
time模块是python的标准模块,提供了丰富的处理时间和日期的方法,例如time.time()方法返回当前的时间,单位精确到毫秒,time.strftime()可以返回格式化后便于人们理解的时间字符串。
1.1.1 获取当前时间
#coding=utf-8 import time; te=time.time(); print te;
输出结果:
1667975817.82
这个叫时间戳,是从1970年1月1日午夜开始到现在所经过的时间,精确到了毫秒,但实际使用时,通常只用秒数。
使用在线时间转换网站 https://tool.lu/timestamp/ 可以对这个时间进行转换。
1.1.2 获取时间元组
前面讲的time()方法虽然可以获取当前时间,但是返回的结果对我们来说不友好,肯本看不出是哪年哪月,使用localtime方法,可以获取可以直接观察的日期信息。
te = time.localtime(time.time()); print te;
输出结果:
time.struct_time(tm_year=2022, tm_mon=11, tm_mday=9, tm_hour=14, tm_min=40, tm_sec=48, tm_wday=2, tm_yday=313, tm_isdst=0)
你想准确的获取年月日,则可以这样来操作:
te = time.localtime(time.time()); print te; print te.tm_year,"年",te.tm_mon,"月",te.tm_mday,"日",te.tm_hour,"时",te.tm_min,"分",te.tm_sec,"秒"
输出结果:
2022 年 11 月 9 日 14 时 45 分 44 秒
1.1.3 格式化时间
虽然时间元组的形式已经相比time()方法直观了很多,但是仍然达不到我们想要的效果,我们平时用得较多的时间是这样的。
2022-11-09 14:57:21
实现并不难:
localtime=time.localtime(time.time()); localtime=time.strftime("%Y-%m-%d %H:%M:%S", localtime); print localtime;
输出结果:
2022-11-09 14:56:33
strftime方法返回的是字符串,能将时间戳转换成字符串,也一定能够从字符串转换成时间戳。
a = '2022-11-09 15:03:12' a= time.mktime(time.strptime(a,"%Y-%m-%d %H:%M:%S")) print(a)
输出结果:
1667977392.0
1.1.4 日期格式化字符
%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 当前时区的名称 %% %号本身
工作中使用最频繁的,当属 "%Y-%m-%d %H:%M:%S"