zoukankan      html  css  js  c++  java
  • python进阶之time模块详解

    Time模块包含的函数

    Time模块包含了一下内置的函数,既有时间处理的,也有转换时间格式的:

    序号	函数及描述
    1	time.altzone
          返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。
    2	time.asctime([tupletime])
          接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
    3	time.clock( )
          用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。
    4	time.ctime([secs])
          作用相当于asctime(localtime(secs)),未给参数相当于asctime()
    5	time.gmtime([secs])
          接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0
    6	time.localtime([secs])
          接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。
    7	time.mktime(tupletime)
          接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)。
    8	time.sleep(secs)
          推迟调用线程的运行,secs指秒数。
    9	time.strftime(fmt[,tupletime])
          接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。
    10	time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
          根据fmt的格式把一个时间字符串解析为时间元组。
    11	time.time( )
          返回当前时间的时间戳(1970纪元后经过的浮点秒数)。
    12	time.tzset()
          根据环境变量TZ重新初始化时间相关设置。 
    

    下面我们分别解释每一个函数的用法

    altzone()

    参数:无

    返回值:返回格林威治西部的夏令时地区的偏移描述。如果该地区在格林威治东部会返回负值(如西欧,包括美国)

    语法:

    >>> time.altzone
    -32400
    >>>

    asctime()

    参数:9个元素的元祖或者通过函数gmtime()或localtime()返回的时间值

    返回值:返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2018年10月11日 周二18时07分14秒)的24个字符的字符串。

    语法:

    >>> time.asctime()
    'Tue Oct 23 16:27:39 2018'
    >>> time.asctime(time.localtime())
    'Tue Oct 23 16:28:08 2018'
    

    clock()

    参数:无

    返回值:

    该函数有两个功能,

    在第一次调用的时候,返回的是程序运行的实际时间;

    以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔

    语法:

    print(time.clock())
    for i in range(1, 100):
        print(i)
    print(time.clock())
    

    输出结果:

    0.0
    6.6986723828671e-05
    

    ctime()

    参数: 要转换为字符串时间的秒数

    返回值:无

    语法:

    >>> time.ctime()
    'Tue Oct 23 16:38:18 2018'
    >>> time.ctime(1024)
    'Thu Jan  1 08:17:04 1970'
    

    gmtime()

    参数:转换为time.stryct_time类型的对面的秒数

    返回值:无

    语法:

    >>> time.gmtime()
    time.struct_time(tm_year=2018, tm_mon=10, tm_mday=23, tm_hour=8, tm_min=41, tm_sec=2, tm_wday=1, tm_yday=296, tm_isdst=0)
    >>> time.gmtime(45)
    time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=45, tm_wday=3, tm_yday=1, tm_isdst=0)
    >>> time.gmtime(2)
    time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=2, tm_wday=3, tm_yday=1, tm_isdst=0)
    >>>
    

    locatime()

    参数:转换为time.struct_time类型的对面的秒数

    返回值:无

    语法:

    >>> time.localtime()
    time.struct_time(tm_year=2018, tm_mon=10, tm_mday=23, tm_hour=16, tm_min=44, tm_sec=6, tm_wday=1, tm_yday=296, tm_isdst=0)
    

    sleep()

    参数:推迟执行的秒数

    返回值:无

    语法:

    print(time.ctime())
    time.sleep(5)
    print(time.ctime())
    

    输出结果:

    Tue Oct 23 16:49:45 2018
    Tue Oct 23 16:49:50 2018
    

    strftime(format[, t ])

    参数: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 当前时区的名称
        %% %号本身
    

    语法:

    >>> time.strftime("%Y %m %d %H:%M:%S")
    '2018 10 23 16:57:02'
    

    time()

    参数:无

    返回值:返回当前时间的时间戳(1970纪元后经过的浮点秒数)

    print ("time.time(): %f " %  time.time())
    print (time.asctime( time.localtime(time.time()) ))
    

    输出结果:

    time.time(): 1540285177.428731 
    Tue Oct 23 16:59:37 2018
    

    时间元祖:

    索引值(index) 	属性(Attribute) 	值(Values)
    0 	tm_year(年) 	(例如:2015)
    1 	tm_mon(月) 	1-12
    2 	tm_mday(日) 	1-31
    3 	tm_hour(时) 	0-23
    4 	tm_min(分) 	0-59
    5 	tm_sec(秒) 	0-61(60代表闰秒,61是基于历史原因保留)
    6 	tm_wday(星期几) 	0-6(0表示星期一)
    7 	tm_yday(一年中的第几天) 	1-366
    8 	tm_isdst(是否为夏令时) 	0,1,-1(-1代表夏令时)
    

    时间转换图解

      

  • 相关阅读:
    NLP概览(一)
    java正则表达式实例
    notepad++
    Mybatis点滴
    (转)GNU Make学习总结(二)
    (转)GNU Make学习总结(一)
    分页查询
    第三方插件
    单例模式读取数据库配置文件和JNDI连接数据源
    过滤器与监听器
  • 原文地址:https://www.cnblogs.com/linuxchao/p/linuxchao-time.html
Copyright © 2011-2022 走看看