• Python3.x time模块


      python中,我们会用到很多和时间相关的操作。下面就来看看时间的模块的作用。

      使用相应功能需要导入time模块

    import time

      time模块方法:

      asctime(p_tuple=None):

      将一个时间的元组或者struct_time类型的数据转换为字符串。

    print(time.asctime())
    print(time.asctime((2012,5,12,11,36,54,3,1,1)))
    print(time.asctime(time.localtime(1462707651)))
    print(type(time.asctime((2012,5,12,11,36,54,3,7,12))),type(time.asctime(time.localtime(1462707651.3773372))))

      运行结果是:

    Thu Sep  1 14:36:32 2016
    Thu May 12 11:36:54 2012 Sun May 8 19:40:51 2016 <class 'str'> <class 'str'>

      可以看见asctime方法将元组的时间格式以及struct_time类型的数据转换为了字符串,如果不进行参数的指定,就会返回当前时间。

      clock():

      第一次调用时返回系统运行时间,以后调用时都显示与第一次调用的间隔。

    print(time.clock())
    time.sleep(1)
    print(time.clock())
    time.sleep(1)
    print(time.clock())

      运行结果是:

    4.665297557343505e-07
    0.9996267761954125
    1.9995838554578849

      ctime(seconds=None):

      这个方法是将时间戳转换为字符串格式,如果没有参数,则将当前时间转换为字符串

    print(time.ctime())
    print(time.ctime(1462707651))
    print(type(time.ctime()))

      运行结果是:

    Thu Sep  1 14:48:54 2016
    Sun May  8 19:40:51 2016
    <class 'str'>

      gmtime(seconds=None):

      将时间戳转换为0时区的struct_time类型。如果没有参数,则将当前时间进行转换。

    print(time.gmtime())
    print(time.gmtime(1462707651))
    print(type(time.gmtime(1462707651)))

      运行结果是:

    time.struct_time(tm_year=2016, tm_mon=9, tm_mday=1, tm_hour=7, tm_min=8, tm_sec=13, tm_wday=3, tm_yday=245, tm_isdst=0)
    time.struct_time(tm_year=2016, tm_mon=5, tm_mday=8, tm_hour=11, tm_min=40, tm_sec=51, tm_wday=6, tm_yday=129, tm_isdst=0)
    <class 'time.struct_time'>

      struct_time类型解释:

        tm_year  年

        tm_mon  月

        tm_mday  日

        tm_hour  小时(注意时区的差别)

        tm_min  分

        tm_sec  秒

        tm_wday  一周的第几天(0是周一)

        tm_yday  一年的第几天

        tm_isdst  夏令时标志位(有1,0,-1)

      localtime(seconds=None):

      将时间戳转换为当前时区的struct_time类型。如果没有参数,则将当前时间进行转换。

    print(time.localtime())
    print(time.localtime(1462707651))
    print(type(time.localtime(1462707651)))

      运行结果是:

    time.struct_time(tm_year=2016, tm_mon=9, tm_mday=1, tm_hour=15, tm_min=23, tm_sec=16, tm_wday=3, tm_yday=245, tm_isdst=0)
    time.struct_time(tm_year=2016, tm_mon=5, tm_mday=8, tm_hour=19, tm_min=40, tm_sec=51, tm_wday=6, tm_yday=129, tm_isdst=0)
    <class 'time.struct_time'>

      mktime(p_tuple):

      接收一个时间的元组,返回时间戳。

    print(time.mktime(time.gmtime()))
    print(time.mktime((2016, 9, 1, 15, 23, 16, 3, 245, 0)))

      运行结果是:

    1472686642.0
    1472714596.0

      mktime方法必须要传入参数。

      sleep(seconds):

      延迟给定的秒数。

    print(time.localtime())
    time.sleep(3)
    print(time.localtime())

      运行结果是:

    time.struct_time(tm_year=2016, tm_mon=9, tm_mday=1, tm_hour=15, tm_min=45, tm_sec=2, tm_wday=3, tm_yday=245, tm_isdst=0)
    time.struct_time(tm_year=2016, tm_mon=9, tm_mday=1, tm_hour=15, tm_min=45, tm_sec=5, tm_wday=3, tm_yday=245, tm_isdst=0)

      strftime(format, p_tuple=None):

      将struct_time类型的数据使用指定的格式输出。如果没有传入struct_time类型的数据则使用当前时间。

    print(time.strftime('%Y-%m-%d %H:%M:%S'))
    print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))
    print(time.strftime('%Y-%m-%d %H:%M:%S',(2016, 9, 1, 15, 23, 16, 3, 245, 0)))

      运行结果是:

    2016-09-01 15:51:03
    2016-09-01 15:51:03
    2016-09-01 15:23:16

      常用的格式代码如下:
        %Y    十进制数的世纪年份
        %m    十进制数的月份[01,12]
        %d    十进制数的天数[01,31]
        %H    十进制数的小时(24小时制)[00,23]
        %M    十进制数的分钟[00,59]
        %S    十进制数的秒数[00,61]
        %z    时区与UTC(0时区)的偏移
        %a    当前语言环境下缩写的工作日名称
        %A    当前语言环境下完整的工作日名称
        %B    当前语言环境下缩写的月份名称
        %B    当前语言环境下完整的月份名称
        %C    当前语言环境下适当的日期和时间表示
        %I    十进制数的小时(12小时制)[01,12]
        %p    当前语言环境下的上午或下午

      strptime(string, format):

      将格式化字符串转换为时间戳。

    print(time.strptime('2016-09-01 15:51:03','%Y-%m-%d %H:%M:%S'))
    print(time.strptime('2016-09-01 15:23:16','%Y-%m-%d %H:%M:%S'))

      运行结果是:

    time.struct_time(tm_year=2016, tm_mon=9, tm_mday=1, tm_hour=15, tm_min=51, tm_sec=3, tm_wday=3, tm_yday=245, tm_isdst=-1)
    time.struct_time(tm_year=2016, tm_mon=9, tm_mday=1, tm_hour=15, tm_min=23, tm_sec=16, tm_wday=3, tm_yday=245, tm_isdst=-1)

      time():

      返回当前时间的时间戳,如果系统时钟提供几分之一秒,返回结果也会有相应的结果。

    print(time.time())

      运行结果是:

    1472717978.9570408
  • 相关阅读:
    java代码中存在的Big Endian 和 Little Endian
    通过hbase实现日志的转存(MR AnalyserLogDataRunner和AnalyserLogDataMapper)
    hbase使用MapReduce操作1(基本增删改查)
    配置好Nginx后,通过flume收集日志到hdfs(记得生成本地log时,不要生成一个文件,)
    数据库分页查询
    将博客搬至CSDN
    Dev Winform本地化
    C#,OleDbType,Access 对应数据类型
    C#字符串转义和反转义
    C# 正则表达式
  • 原文地址:https://www.cnblogs.com/cdinc/p/5830358.html
Copyright © 2020-2023  润新知