20 Python的time模块

这篇具有很好参考价值的文章主要介绍了20 Python的time模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

        在上一节,我们介绍了Python的math模块,包括:math模块中一些常用的属性和函数。在这一节,我们将介绍Python的time模块。time模块是用于处理时间数据的库,它提供了各种功能来获取、表达和转换时间。该模块主要包含的功能如下:

        时间获取:可以获取当前时间,包括:当前的系统时间、网络时间等。

        时间格式化:可以将时间以各种格式进行输出,包括:时间戳、时间元组、格式化时间等。

        时间转换:可以将时间从一种格式转换为另一种格式。

        计时和性能分析:可以用来进行计时和性能分析,比如:测量代码块的运行时间等。

        下面,我们将逐一介绍time模块中一些常用的属性和函数。

time.time()函数

        time.time()函数会返回当前时间的时间戳,表示从1970年1月1日00:00:00开始到现在的秒数。在Python中,time.time()函数通常用于计算时间差、定时任务和其他与时间相关的操作。比如:可以使用time.time()来获取当前时间的时间戳,并将其与另一个时间戳进行比较,以计算两个时间点之间的时间差。

import time

# 获取当前时间的时间戳
current_time1 = time.time()
# 输出:1694938988.1193678
print(current_time1)

# 等待一段时间
time.sleep(3)

# 再次获取当前时间的时间戳
current_time2 = time.time()
# 输出:1694938991.120983
print(current_time2)
  
# 计算两个时间戳之间的时间差,单位为秒
time_difference = current_time2 - current_time1
# 输出:3.001615047454834
print(time_difference)

time.sleep(seconds)函数

        time.sleep(seconds)函数让程序暂停指定的秒数。这个函数接受一个浮点数作为参数,表示暂停的秒数。需要注意的是:time.sleep()函数会阻塞当前线程的执行,因此在多线程环境中使用时需要谨慎。

import time

# 输出:Begin
print('Begin')

time.sleep(3)

# 过6秒后,输出:End
print('End')

time.localtime()函数

        time.localtime()函数返回一个包含当前本地时间的time.struct_time对象。time.struct_time是一个命名元组,包含以下9个元素,分别为:

        tm_year:年份,比如:2023。

        tm_mon:月份,范围为1-12。

        tm_mday:一个月中的第几天,范围为1-31。

        tm_hour:小时,范围为0-23。

        tm_min:分钟,范围为0-59。

        tm_sec:秒,范围为0-61,60和61用于闰秒。

        tm_wday:一周的第几天,范围为0-6,0表示星期一。

        tm_yday:一年中的第几天,范围为1-366。

        tm_isdst:夏令时标记,取值为-1、0、1。

import time

cur_time = time.localtime()
print("年份:", cur_time.tm_year)
print("月份:", cur_time.tm_mon)
print("日期:", cur_time.tm_mday)
print("小时:", cur_time.tm_hour)
print("分钟:", cur_time.tm_min)
print("秒数:", cur_time.tm_sec)

time.struct_time()函数

        time.struct_time()函数创建一个time.struct_time对象,该对象表示一个本地时间。。

import time

# 创建一个time.struct_time对象
t = time.struct_time((2023, 9, 17, 16, 45, 36, 0, 0, 0))  

# 输出时间信息
print("年份:", t.tm_year)
print("月份:", t.tm_mon)
print("日期:", t.tm_mday)
print("小时:", t.tm_hour)
print("分钟:", t.tm_min)
print("秒数:", t.tm_sec)

time.mktime(t)函数

        time.mktime(t)函数将一个time.struct_time对象转化为时间戳。该函数接受一个time.struct_time对象作为参数,该对象表示一个本地时间。time.struct_time对象包含年、月、日、时、分、秒等信息。time.mktime(t)将这些信息转换为自Epoch(1970年1月1日 00:00:00 UTC)以来的秒数,并返回一个浮点数。

import time

# 创建一个time.struct_time对象
t = time.struct_time((2023, 9, 17, 16, 45, 36, 0, 0, 0))

# 将time.struct_time对象转换为时间戳,输出:1694940336.0
print(time.mktime(t))

time.asctime([t])函数

        time.asctime([t])函数将一个time.struct_time对象转化为字符串格式的时间。这个函数接受一个可选的 time.struct_time对象作为参数,如果不提供参数,则默认使用当前本地时间。

import time

time_str = time.asctime()
# 输出:Sun Sep 17 16:55:26 2023
print(time_str)

time.ctime([seconds])函数

        time.ctime([seconds])函数将一个time.struct_time对象转化为字符串格式的时间,与asctime()函数功能相同。这个函数接受一个可选的参数seconds,如果不提供参数,则默认使用当前本地时间。

import time

time_str = time.ctime()
# 输出:Sun Sep 17 16:57:12 2023
print(time_str)

time.gmtime([seconds])函数

        time.gmtime([seconds])函数返回一个包含当前UTC时间的time.struct_time对象。这个函数接受一个可选的参数seconds,如果不提供参数,则默认使用当前UTC时间。

import time

utc_time = time.gmtime()
print("年份:", utc_time.tm_year)
print("月份:", utc_time.tm_mon)
print("日期:", utc_time.tm_mday)
print("小时:", utc_time.tm_hour)
print("分钟:", utc_time.tm_min)
print("秒数:", utc_time.tm_sec)

time.localtime([seconds])函数

        time.localtime([seconds])函数返回一个包含当前本地时间的time.struct_time对象,与gmtime()相反,本函数返回的是本地时间而不是UTC时间。

import time

local_time = time.localtime()
print("年份:", local_time.tm_year)
print("月份:", local_time.tm_mon)
print("日期:", local_time.tm_mday)
print("小时:", local_time.tm_hour)
print("分钟:", local_time.tm_min)
print("秒数:", local_time.tm_sec)

time.strftime(format[, t])函数

        time.strftime(format[, t])函数将一个time.struct_time对象按照指定的格式转化为字符串。该函数接受如下两个参数。

        format:一个字符串,指定了输出字符串的格式。格式字符串可以包含一些特殊的指令,用于插入日期和时间的不同组成部分。比如:%Y表示四位数的年份,%y表示两位数的年份,%m表示两位数的月份,%d表示两位数的日期,%H表示24小时制的小时数,%I表示12小时制的小时数,%M表示分钟数,%S表示秒数等。

        t:可选参数,一个时间对象。如果未提供此参数,则默认为当前时间。

import time

cur_time = time.strftime("%Y-%m-%d %H:%M:%S")
# 输出:2023-09-17 17:07:21
print(cur_time)

time.strptime(string[, format])函数

        time.strptime(string[, format])函数将一个字符串解析为time.struct_time对象。该函数接受如下两个参数。

        string:要解析的时间字符串。

        format:可选参数,指定了字符串的格式。文章来源地址https://www.toymoban.com/news/detail-721735.html

import time  

time_str = "2023-09-17 17:30:45"
format_str = "%Y-%m-%d %H:%M:%S"
time_obj = time.strptime(time_str, format_str)
# 输出:time.struct_time(tm_year=2023, tm_mon=9, tm_mday=17, tm_hour=17, 
# tm_min=30, tm_sec=45, tm_wday=6, tm_yday=260, tm_isdst=-1)
print(time_obj)

到了这里,关于20 Python的time模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 挑战30天学完Python:Day12 模块

    🎉 本系列为Python基础学习,原稿来源于 30-Days-Of-Python 英文项目,大奇主要是对其本地化翻译、逐条验证和补充,想通过30天完成正儿八经的系统化实践。此系列适合零基础同学,或仅了解Python一点知识,但又没有系统学习的使用者。总之如果你想提升自己的Python技能,欢迎

    2023年04月27日
    浏览(29)
  • Python__模块(TIME-进程/线程)__concurrent / multiprocessing

    进程或线程的使用。 线程是共享内存空间。 进程是内存独立状态。 同一个进程的线程之间可以直接交流。 两个进程想通信,必须通过一个中间代理来实现。 使用多线程能充分利用 CPU 来提供程序的执行效率。 每一个进程启动时都会最先产生一个线程,即主线程,然后主线程

    2024年02月04日
    浏览(28)
  • 20个Python random模块的代码示例

    本文分享自华为云社区《Python随机数探秘:深入解析random模块的神奇之处》,作者:柠檬味拥抱。 随机数在计算机科学和数据科学领域中扮演着重要角色,Python的标准库中提供了 random 模块,用于生成各种随机数。本篇博客将深入探讨 random 模块的各种函数,以及它们的应用

    2024年03月13日
    浏览(38)
  • 30天拿下Rust之切片

    概述         在Rust中,切片是一种非常重要的引用类型。它允许你安全地引用一段连续内存中的数据,而不需要拥有这些数据的所有权。切片不包含分配的内存空间,它仅仅是一个指向数据开始位置和长度的数据结构。切片是对数组的一个连续引用,它提供了一种方便、

    2024年03月13日
    浏览(38)
  • 30天拿下Rust之泛型

    概述         在Rust语言中,泛型是一种强大的工具,它允许我们编写可复用且灵活的代码。通过泛型,我们可以创建适用于多种类型的数据结构和函数,而无需为每种类型都重复编写相同的逻辑。在Rust中,泛型通过指定类型参数来实现,这些类型参数会在编译时被具体类

    2024年03月17日
    浏览(41)
  • 30天拿下Rust之引用

    概述         在Rust语言中,引用机制是其所有权系统的重要组成部分,它为开发者提供了一种既高效又安全的方式来访问和共享数据。引用可以被视为一个指向内存地址的指针,它允许我们间接地访问和操作存储在内存中的数据。与其他语言中的指针不同,Rust中的引用是

    2024年03月10日
    浏览(31)
  • 30天拿下Rust之输入输出

    概述         在软件开发中,输入输出(I/O)是任何应用程序的基本构建模块。Rust作为一门注重安全和性能的语言,在其标准库中提供了强大的I/O功能。这些功能使得Rust程序员能够非常轻松地进行标准I/O、文件读写等操作。 标准I/O         在Rust中,标准输入通常通

    2024年03月24日
    浏览(30)
  • 30天拿下Rust之Trait

    概述         在Rust中,Trait是一个核心概念,它允许我们定义类型应该具有的行为。Trait类似于其他语言中的接口,但Rust的Trait更为强大和灵活。它不仅定义了一组方法,还允许我们指定方法的默认实现、泛型约束和继承。通过Trait,我们可以定义一组方法的签名和关联类

    2024年03月17日
    浏览(30)
  • 30天拿下Rust之错误处理

    概述         在软件开发领域,对错误的妥善处理是保证程序稳定性和健壮性的重要环节。Rust作为一种系统级编程语言,以其对内存安全和所有权的独特设计而著称,其错误处理机制同样体现了Rust的严谨与实用。在Rust中,错误处理通常分为两大类:不可恢复的错误和可

    2024年03月21日
    浏览(57)
  • 30天拿下Rust之高级类型

    概述         Rust作为一门系统编程语言,以其独特的内存管理方式和强大的类型系统著称。其中,高级类型的应用,为Rust的开发者提供了丰富的编程工具和手段,使得开发者可以更加灵活和高效地进行编程。 Newtype模式         Newtype模式是一种轻量级的设计模式,用

    2024年04月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包