30天拿下Python之time模块

简介: 30天拿下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:可选参数,指定了字符串的格式。

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)


相关文章
|
14天前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
53 4
|
8天前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
88 0
|
2月前
|
存储 安全 数据处理
Python 内置模块 collections 详解
`collections` 是 Python 内置模块,提供多种高效数据类型,如 `namedtuple`、`deque`、`Counter` 等,帮助开发者优化数据处理流程,提升代码可读性与性能,适用于复杂数据结构管理与高效操作场景。
103 0
|
11月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
320 62
|
3月前
|
数据安全/隐私保护 Python
抖音私信脚本app,协议私信群发工具,抖音python私信模块
这个实现包含三个主要模块:抖音私信核心功能类、辅助工具类和主程序入口。核心功能包括登录
|
6月前
|
Python
Python教程:os 与 sys 模块详细用法
os 模块用于与操作系统交互,主要涉及夹操作、路径操作和其他操作。例如,`os.rename()` 重命名文件,`os.mkdir()` 创建文件夹,`os.path.abspath()` 获取文件绝对路径等。sys 模块则用于与 Python 解释器交互,常用功能如 `sys.path` 查看模块搜索路径,`sys.platform` 检测操作系统等。这些模块提供了丰富的工具,便于开发中处理系统和文件相关任务。
237 14
|
10月前
|
Python
Python Internet 模块
Python Internet 模块。
210 74
|
7月前
|
人工智能 自然语言处理 Shell
[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
86 8
|
7月前
|
缓存 Shell 开发工具
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 "hello world!" 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
103 5
|
11月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
269 63

推荐镜像

更多