• 自学Python 46 日期和时间函数(一)


    Python 日期和时间函数 之 使用时间模块



      在 Python的内置模块中,提供了大量的日期和时间函数,通过这些函数可以帮助开发者快速实现日期和时间功能。在本节的内容中,将详细讲解使用 Python时间和日期函数的知识。


    一、使用时间模块

      在 Python程序中,时间Time模块中的常用内置函数如下所示。

    (1)函数 time.altzone

      功能是返回格林威治西部的夏令时地区的的偏移秒数,如果该地区在格林威治东部会返回负值(如西欧,包括英国)。只有对夏令时启用地区才能使用此函数。例如下面在Python的交互式命令行程序中演示了函数altzone()的使用方法:

    >>> import time
    >>> print("time.altzone %d" % time.altzone)
    time.altzone -32400
    
    • 1
    • 2
    • 3

    (2)函数time.asctime([tupletime])

      功能是接受时间元组并返回一个可读的形式如为“Wed Jul 27 20:23:46 2022” (2022年7月23日周三20时23分46秒)的24个字符的字符串(是我运行这些代码的日期和时间)。例如下面在Python的交互式命令行程序中演示了函数asctime()的使用方法:

    >>> import time
    >>> t= time . localtime()
    >>> print ("time.asctime (t):%s " % time.asctime (t))
    time.asctime (t):Wed Jul 27 20:23:46 2022
    
    • 1
    • 2
    • 3
    • 4

    (3)函数 time.clock()或者time.perf_counter()

      注意: time.clock()在Python3.3废弃,在Python3.8中将被移除,使用时注意自己的版本,可以用time.perf_counter()
      以浮点数计算的秒数返回当前的 CPU时间,用来衡量不同程序的耗时,比 time.time()函数更有用。读者需要注意,函数 time.lock()在不同的操作系统中的含义不同。在UNIX系统中,它返回的是“进程时间”,是用秒表示的浮点数(时间戳)。当在Windows系统中第一次调用时,返回的是进程运行的实际时间。而在第二次之后调用的是自第一次调用以后到现在的运行时间。
      在第一次调用函数time.clock()的时候,返回的是程序运行的实际时间。第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔。在 Win32系统下,这个函数返回的是真实时间(wall time),而在 Unix/Linux下返回的是 CPU 时间。
      例如在下面的实例中,在Pycharm中演示了使用函数time.perf_counter()实现时间处理的过程。

    import time
    def procedure():
        time.sleep (2.5)
    #time.clock
    t0 = time.perf_counter()
    procedure()
    print (time.perf_counter() - t0)
    # time.time
    t0 = time.time()
    procedure()
    print (time.time() -t0)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

      在不同机器的执行效果不同,在我电脑中执行后会输出:
    在这里插入图片描述

    (4)函数time.ctime([secs])

      其功能相当于asctime(localtime(secs))函数,如果没有参数则相当于asctime()函数。例如下面在Python的交互式命令行程序中演示了函数time.ctime()的使用方法:

    >>> import time
    >>> print("time.ctime() : %s" %time.ctime())
    time.ctime() : Wed Jul 27 20:46:41 2022
    
    • 1
    • 2
    • 3

    (5)函数time.gmtime([secs])

      接收时间戳并返回格林威治天时间下的时间元组t。读者需要注意,t.tm_isdst始终为0。例如下面在Python的交互式命令行程序中演示了函数gmtime()的使用方法:

    >>> import time
    >>> print("gmtime:", time.gmtime(1455508609.34375))
    gmtime: time.struct_time(tm_year=2016, tm_mon=2, tm_mday=15, tm_hour=3, tm_min=56, tm_sec=49, tm_wday=0, tm_yday=46, tm_isdst=0)
    
    • 1
    • 2
    • 3

    (6)函数 time.localtime([secs])

      接收时间戳并返回当地时间下的时间元组t (t.tm _isdst可以取0或1,取决于当地当时是不是夏令时)。例如下面在Python的交互式命令行程序中演示了函数localtime()的使用方法:

    >>> import time
    >>> print("localtime():",time.localtime (1455508609.34375))
    localtime(): time.struct_time(tm_year=2016, tm_mon=2, tm_mday=15, tm_hour=11, tm_min=56, tm_sec=49, tm_wday=0, tm_yday=46, tm_isdst=0)
    
    • 1
    • 2
    • 3

    (7)函数time.mktime(tupletime)

      接受时间元组并返回时间戳,函数mktime(tupletime)执行与 gmtime(), localtime()相反的操作,能够接收struct_time对象作为参数,返回用秒数来表示时间的浮点数。如果输入的值不是一个合法的时间,将会触发OverflowError 或 ValueError错误。参数tupletim是结构化的时间或者完整的9位元组元素。例如在下面的实例中,在Pycharm中演示了演示了使用函数mktime(tupletime)实现时间操作的过程:

    import time
    t = (2022,7,27,20,59,40,1,48,0)
    secs = time.mktime(t)
    print("time.mktime(t): %f" %secs)
    print("asctime(localtime(secs)): %s" % time.asctime(time.localtime(secs)))
    
    • 1
    • 2
    • 3
    • 4
    • 5

      执行后会输出:
    在这里插入图片描述

    (8)函数time.sleep(secs)

      功能是推迟调用线程的运行,参数secs指秒数。例如下面在在Pycharm中演示了函数time.sleep(secs)的使
    使用方法:

    import time
    print("Start :%s" %time.ctime)
    time.sleep(5)
    print("End: %s" %time.ctime())
    
    • 1
    • 2
    • 3
    • 4

      执行后会输出:
    在这里插入图片描述

    (9)函数time.strftime(fmt[,tupletime])

      接收时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。例如下面在Python的交互式命令行程序中演示了strftime()函数的使用方法:

    >>> import time
    >>> print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
    2022-07-27 21:17:41
    
    • 1
    • 2
    • 3

    (10)函数time.strptime(srt,fmt=’ %a%b%H:%M:%S%Y’)

       根据fmt的格式把一个时间字符申解析为时间元组。例如下面在Python的交互式命令行程序中演示了strptime()函数的使用方法:

    >>> import time
    >>> struat_time = time.strptime("27 Jul 22","%d %b %y")
    >>> print("返回元组:",struat_time)
    返回元组: time.struct_time(tm_year=2022, tm_mon=7, tm_mday=27, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=208, tm_isdst=-1)
    
    • 1
    • 2
    • 3
    • 4

    (11)函数time.time( )

      返回当前时间的时间戳。例如下面在Python的交互式命令行程序中演示了time()函数的使用方法:

    >>> import time
    >>> print(time.time())
    1658928614.7110431
    
    • 1
    • 2
    • 3
  • 相关阅读:
    手把手教你君正X2000开发板的OpenHarmony环境搭建
    拼多多百亿补贴商品详情API接口系列
    一周精彩内容分享(第16期)
    「PAT乙级真题解析」Basic Level 1077 互评成绩计算 (问题分析+完整步骤+伪代码描述+提交通过代码)
    2022.09 青少年Python等级考试(六级) 编程题部分
    使用IDEA远程debug调试
    【Kafka】flinkProducer kafka分区策略及kafka 默认分区策略
    1-Redis架构设计到使用场景-四种部署运行模式(上)
    Springboot毕设项目校园跑腿网站013tujava+VUE+Mybatis+Maven+Mysql+sprnig)
    LVM分区空间扩充
  • 原文地址:https://blog.csdn.net/weixin_46066007/article/details/126022109