美文网首页
时间日历模块

时间日历模块

作者: 墨凌风起 | 来源:发表于2020-07-11 16:25 被阅读0次

    --coding:utf-8--

    Python提供一个time和calendar模块用于格式化日期和时间
    

    import time

    print('当前时间戳:{0}'.format(time.time()))#自1970年,Unix,window只支持2038年
    print('获取格式化的时间-本地时间:{0}'.format(time.asctime(time.localtime(time.time()))))
    时间格式化符号:
    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-9999)
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小时制小时数(0-23)
    %l 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 当前时区名称
    %%%号本身
    

    locT = time.localtime()
    print(time.strftime('%Y-%m-%d-%a- --%H:%M:%S',locT))

    Time模块

    1.time.altzone 返回格林威治西部的夏令时地区的偏移秒数,如果该地区在格林威治东部会返回负值,对夏令时启用的地区才能使用
    altzone = time.altzone
    print('time.altzone %d' % altzone)
    #2.time.asctime([tupletime]) 接受时间元组返回一个可读的形式为'Tue Dec 11 18:07:14 2008'的24字符的字符串
    asctime = time.asctime(locT)
    print('time.asctime(t): %s' % asctime)
    #3.time.clock() 用以浮点数计算的秒数返回当前的CPU时间,永来衡量不同程序的耗时,过于依赖系统,Python3.8更换为一下两个
    perf_counter = time.perf_counter()
    process_time = time.process_time()
    print('系统运行时间:{0}'.format(perf_counter))
    print('进程运行时间:{0}'.format(process_time))
    #4.time.ctime([secs]) 相当于asctime(localtime(secs)),未给参数相当于asctime()
    ctime = time.ctime()
    print('time.ctime(): %s' % ctime)
    #5.time.gmtime([secs]) 接受时间戳,返回格林威治天文时间下的时间元组t,tm_isdst始终为0
    gmtime = time.gmtime(time.time())
    print('gmtime: {0}'.format(gmtime))
    #6.time.localtime([secs]) 接受时间戳,返回格林威治天文时间下的时间元组t(t.tm_isdst可取0或者1,取决当地是否夏令时)
    localtime = time.localtime(time.time())
    print('localtime:{0}'.format(localtime))
    #7.time.mktime(tupletime) 接收时间元组返回时间戳
    print('mktime:{0}'.format(time.mktime(locT)))
    #8.time.sleep(secs) 推迟调用线程的运行,secs指秒数
    print('start:%s' % time.ctime())
    #time.sleep(2)
    print('End:%s' % time.ctime())
    #9.time.strftime(fmt[,tupletime]) 接收时间元组,返回可读字符串表示的当地时间,格式由fmt决定
    strftime = time.strftime('%Y-%m-%d %H:%M:%S',locT)
    print('strftime:{0}'.format(strftime))
    #10.time.strptime(str,fmt='%a %b %d %H:%M:%S %Y') 根据fmt格式把时间字符串解析成时间元组
    strptime = time.strptime(strftime,'%Y-%m-%d %H:%M:%S')
    print('strptime:{0}'.format(strptime))
    #11.time.time() 返回当前时间的时间戳
    #12.time.tzset() 根据环境变量TZ重新初始化时间相关设置
    
    标准的TZ格式:std offset [dst [offset [,start[/time], end[/time]]]]
    std 和 dst:三个或者多个时间的缩写字母。传递给 time.tzname.
    offset: 距UTC的偏移,格式: [+|-]hh[:mm[:ss]] {h=0-23, m/s=0-59}。
    start[/time], end[/time]: DST 开始生效时的日期。格式为 m.w.d — 代表日期的月份、周数和日期。w=1 指月份中的第一周,而 w=5 指月份的最后一周。'start' 和 'end' 可以是以下格式之一:
    Jn: 儒略日 n (1 <= n <= 365)。闰年日(2月29)不计算在内。
    n: 儒略日 (0 <= n <= 365)。 闰年日(2月29)计算在内
    Mm.n.d: 日期的月份、周数和日期。w=1 指月份中的第一周,而 w=5 指月份的最后一周。
    time:(可选)DST 开始生效时的时间(24 小时制)。默认值为 02:00(指定时区的本地时间)。
    
    import os
    os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'
    time.tzset()
    print('tzset-Start:{0}'.format(time.strftime('%X %x %Z')))
    
    os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0'
    time.tzset()
    print('tzset-Start:{0}'.format(time.strftime('%X %x %Z')))
    

    Time 属性

    #1.time.timezone 当地时区,距离格林威治的偏移秒数(>0,美洲,<=0大部分欧洲,亚洲非洲)
    #2.time.tzname 包含一对根据不同情况而不同的字符串,分别是带夏令时和本地时间和不带的
    
    #日历 Calendar
    import calendar
    #1.calendar.calendar(year,w=2,l=1,c=6) 返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c,每日间隔为w的字符,每行长度为21*W+18+2*C,l是每星期行数
    cal01 = calendar.calendar(2020,w=3,l=1,c=10)
    print(cal01)
    #2.calendar.firstweekday() 返回当前每周起始日期的设置,默认情况下,首次载入calendar模块时返回0,即星期一
    cal02 = calendar.firstweekday()
    print(cal02)
    #3.calendar.isleap(year) 判断year是否为闰年
    print(calendar.isleap(2020))
    #4.calendar.leapdays(y1,y2) 返回在Y1,Y2两年之间的闰年总数
    print(calendar.leapdays(1999,2020))
    #5.calenda.month(year,month,w=2,l=1) 返回一个多行字符串格式的year年month月日历,一周一行,每日宽度间隔w,每行长度7*w+6,l为每星期行数
    cal03 = calendar.month(2020,4,w=5,l=1)
    print(cal03)
    #6.calendar.monthcalendar(year,month) 返回一个整数的单层嵌套列表,每个子列表装载代表一个星期的整数,Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始
    cal04 = calendar.monthcalendar(2020,3)
    print(cal04)
    #7.calendar.monthrange(year,month) 返回两整数,第一个是该月第一天是星期几(0-6,星期一-星期日),第二个是该月有几天
    cal05 = calendar.monthrange(2020,4)
    print(cal05)
    #8.calendar.prcal(year,w=2,l=1,c=6) 相当于calendar.calendar(year,w,l,c)
    cal06 = calendar.prcal(2020,w=2,l=1,c=6)
    print(cal06)
    #9.calendar.prmonth(year,month,w=2,l=1) 相当于calendar.calendar(year,w,l,c)
    #10.calendar.setfirstweekday(weekday) 设置每周的起始日期,0(星期一)到6(星期日)
    #11.calendar.timegm(tupletime) 和time.gtime相反:接受一个时间元组形式,返回该时刻的时间戳
    cal011 = calendar.timegm(time.localtime())
    print('timegm:{0}'.format(cal011)) # 4 星期五
    #12.calendar.weekday(year,month,day) 返回指定的日期的日期码0(星期一)到6(星期日),月份1到12
    cal12 = calendar.weekday(2020,4,3)
    print('weekday:{0}'.format(cal12)) # 4 星期五
    
    

    相关文章

      网友评论

          本文标题:时间日历模块

          本文链接:https://www.haomeiwen.com/subject/rhyicktx.html