Python时间模块time

发布时间 2023-05-04 16:31:04作者: 翙翎

时间模块-time

#time()      获取本地时间戳
#ctime()     获取本地时间字符串(参数是时间戳,默认当前)
#localtime()     获取本地时间元组          (参数是时间戳,默认当前)
#mktime()        通过时间元组获取时间戳    (参数是时间元组)
#asctime()       通过时间元组获取时间字符串(参数是时间元组)
#sleep()         程序睡眠等待
#strftime()      格式化时间字符串(格式化字符串,时间元祖)
#strptime()      将时间字符串通过指定格式提取到时间元组中(时间字符串,格式化字符串) 
#perf_counter()  用于计算程序运行的时间

时间模块相关知识

#时间戳指从1970年1月1日0时0分0秒到指定时间之间的秒数,时间戳是秒,可以使用到2038年的某一天
#UTC时间: 世界约定的时间表示方式,世界统一时间格式,世界协调时间!
#夏令时:  在夏令时时间状态下,时间会调块1个小时

#时间元组是使用元祖格式表示时间的一种方式
    格式1(自定义):
        (年,月,日,时,分,秒,周几,一年中的第几天,是否是夏令时时间)
    格式2(系统提供):
        (tm_year = 年,tm_month = 月,tm_day = 日,tm _hour = 时, tm_min = 分, tm _sec = 秒, tm _wday = 周几, tm _yday = 一年中的第几天,tm_isdst = 是否是夏令时时间)

        0   年   4位数完整年份    四位数1997
        1   月   1-12月           1 - 12
        2   日   1-31天           1 - 31
        3   时   0-23时           0 - 23
        4   分   0-59分           0 - 59
        5   秒   0-61秒           0 - 61
        6   周几 周一-周天         0 - 6
        7   年中第几天    共366天  1 - 366
        8   夏令时  两种           0,1  0是  其他都不是  

#格式化时间字符串:
    格式    含义        
    %a    本地(locale)简化星期名称
    %A    本地完整星期名称
    %b    本地简化月份名称
    %B    本地完整月份名称
    %c    本地相应的日期和时间表示
    %d    一个月中的第几天(01 - 31)
    %H    一天中的第几个小时(24 小时制,00 - 23)
    %I    一天中的第几个小时(12 小时制,01 - 12)
    %j    一年中的第几天(001 - 366)
    %m    月份(01 - 12)
    %M    分钟数(00 - 59)
    %p    本地 am 或者 pm 的相应符    
    %S    秒(01 - 61)   
    %U    一年中的星期数(00 - 53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第 0 周    
    %w    一个星期中的第几天(0 - 6,0 是星期天)   
    %W    和 %U 基本相同,不同的是 %W 以星期一为一个星期的开始
    %X    本地相应时间
    %y    去掉世纪的年份(00 - 99)
    %Y    完整的年份
    %z    用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移(H 代表十进制的小时数,M 代表十进制的分钟数)
    %%    %号本身
    
#--不常用的属性函数(了解)
    *gmtime()        获取UTC时间元祖(世界标准时间)
    *time.timezone   获取当前时区(时区的时间差)
    *time.altzone    获取当前时区(夏令时)
    *time.daylight   获取夏令时状态

日历模块-calendar(了解内容)

#--calendar 日历模块 import calendar
#calendar() 获取指定年份的日历字符串 (年份,w日期间的宽度,l日期间的高度,c月份间的间距,m一行显示几个月)
calendar.calendar(2018,w=2,l=2,c=20,m=1)

#month() 获取指定年月的日历字符串 (年份,月份,w日期之间的宽度,l日期之间的高度)
calendar.month(2018,9,w = 2,l = 2)

#monthcalendar() 获取指定年月的信息列表 (年份,月份) 0从周一开始排
calendar.monthcalendar(2018,9)

#isleap() 检测是否是润年(能被4整除不能被100整除或能被400整除)
calendar.isleap(2004)

#leapdays() 指定从某年到某年范围内的润年个数
calendar.leapdays(1970,2038)

#monthrange() 获取某年某月的信息 周一是0
calendar.monthrange(2018,8)

#weekday() 指定某年某月某日是星期几
calendar.weekday(2018,8,18)

#timegm() 将时间元组转化为时间戳
ttp = (2018,10,1,13,23,34,0,0,0)
calendar.timegm(ttp)