美文网首页
python时间模块

python时间模块

作者: 戈羽殇雪 | 来源:发表于2019-11-20 14:00 被阅读0次

    时间模块time,datetime
    时间模块用的很多,用途日志记录,程序使用时间等等
    几个常用的方法如下:

    import time 
    time.localtime()                                                                                                                                                                                                                 
    time.struct_time(tm_year=2019, tm_mon=11, tm_mday=19, tm_hour=18, tm_min=36, tm_sec=8, tm_wday=1, tm_yday=323, tm_isdst=0)
    

    获取一个时间元组,其中tm_wday为每周的第几天,Monday为第一天,0开始的,所以周二是1,tm_isdst为是否为夏令时,是为1
    time.localtime输出结果为一个元组
    其实这个模块的核心就是这个元组,其他的方法都是要么调用元组去输出标准格式,要么就是通过标准输出格式输出元组,或者时间戳
    例如:

    time.time()
    1574215177.379813
    

    生成一个时间戳,时间戳是相对于1970年提供的时间信息,是可以转化为现有时间的

    time.gmtime()
    time.struct_time(tm_year=2019, tm_mon=11, tm_mday=20, tm_hour=2, tm_min=8, tm_sec=46, tm_wday=2, tm_yday=324, tm_isdst=0)
    

    .gmtime默认是UTC现在的时间,可以传入时间戳信息,转化为UTC时间

    x=time.localtime()
    tiime.mktime(x)
    output:1574219564.0
    

    time.mktime()可以将时间元组转化为时间戳
    time.strftime(format[,tuple]) ->string 将时间元组转化为格式话字符串:

        %Y  Year with century as a decimal number.
        %m  Month as a decimal number [01,12].
        %d  Day of the month as a decimal number [01,31].
        %H  Hour (24-hour clock) as a decimal number [00,23].
        %M  Minute as a decimal number [00,59].
        %S  Second as a decimal number [00,61].
        %z  Time zone offset from UTC.
        %a  Locale's abbreviated weekday name.
        %A  Locale's full weekday name.
        %b  Locale's abbreviated month name.
        %B  Locale's full month name.
        %c  Locale's appropriate date and time representation.
        %I  Hour (12-hour clock) as a decimal number [01,12].
        %p  Locale's equivalent of either AM or PM.
    

    测试:

     time.strftime("%H-%m-%S %Y-%m-%d",x)                                                                                                                                                                                              
    '11-11-44 2019-11-20'
    

    这里的格式可以自己设定,年和时都可以随便搭配,但最好还是符合一定规则

    time.strptime(string,format)-> 将格式化字符串 转化成时间元组

    time.strptime("11-11-44 2019-11-20","%H-%M-%S %Y-%m-%d")                                                                                                                                                                          
    time.struct_time(tm_year=2019, tm_mon=11, tm_mday=20, tm_hour=11, tm_min=11, tm_sec=44, tm_wday=2, tm_yday=324, tm_isdst=-1)
    

    time.asctime() 将时间元组 -> 转化为特殊格式的 与linux date 输出一致

     time.asctime(x)                                                                                                                                                                                                                  
    'Wed Nov 20 11:12:44 2019'
    

    time.ctime() 可以传入时间戳,默认传入本地时间-> 格式与linux date 格式一致

     time.ctime()                                                                                                                                                                                                                     
    Out[11]: 'Wed Nov 20 11:43:12 2019'
    
     time.ctime(111560)                                                                                                                                                                                                               
    Out[12]: 'Fri Jan  2 14:59:20 1970'
    
    time.ctime(1574215177)                                                                                                                                                                                                           
    Out[13]: 'Wed Nov 20 09:59:37 2019'
    

    相关文章

      网友评论

          本文标题:python时间模块

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