Python Time 模块

2024 年 8 月 29 日 | 4 分钟阅读

在处理与时间相关的任务时,我们可以随时使用 Python 内置的时间模块。由于有了这个内置模块,代码中有多种表示时间的方式,包括数字、字符串和对象。它还具有其他功能,例如获取当前时间、等待代码执行、暂停程序执行以及衡量代码的有效性。

我们将深入探讨如何处理日期和时间,以及如何用浮点数、元组和 struct_time 来表示时间。我们还将学习如何在各种时间表示之间进行转换,并理解暂停线程执行。

Python 的时间模块是一个非常实用的工具,用于操作涉及时间的函数和对象。因此,为了开始使用 Python 中的时间模块,我们必须先导入该模块。

Python 的时间模块提供了处理与时间相关的任务的函数。

与时间相关的任务包括,读取当前时间、格式化时间、休眠预定时间,等等。

添加时间模块

由于它是 Python 标准实用模块的一部分,因此无需单独安装时间模块。

什么是纪元?

纪元是时间的起点,它根据平台而异。在 Windows 和大多数 Unix 系统上,纪元是 1970 年 1 月 1 日 00:00:00 (UTC),并且在计算自纪元以来的秒数时,不包含闰秒。我们可以使用 time 来找出特定平台上的纪元。gmtime(0)。

Python 时间的浮点数表示(秒)

time.time() 函数返回的第一个值是自纪元以来的秒数。该函数返回浮点数数据类型的时间,以处理小数秒。

代码

输出

1659877305.6220002

在您的机器上,用于计算纪元的参考点可能存在很大差异。因此,您可能会收到不同的输出。

为此,请将 time() 函数返回的秒数传递给 time.ctime() 函数。

可以将秒数输入时间模块的 time.ctime() 函数中,然后该函数将计算直到这些秒的时间,并返回一个 24 字符的时间字符串对象。如果没有异议,时间将计算到当前时刻。

代码

输出

Current time:  Wed June 7 08:21:45 2023

纪元

在上一节中,我们了解到我们可以获取 Python 的 datetime,它是一个浮点对象,表示自纪元开始以来的时间量。

未来时间的计算基于特定的时间点。一种基于特定日期的年代记系统。

需要注意的是,在使用 Python datetime 时,您必须牢记您正在考虑一个由参考点指示的时间段。在计算中,这个时间点称为纪元。

因此,纪元充当衡量时间流逝的起点。

例如,我们可以将 IST 2022 年 4 月 2 日午夜表示为纪元。如果我们发现 IST 2022 年 4 月 3 日午夜的时间,那么自纪元以来必须已经过去了 86400 秒。

一分钟有 60 秒,一小时有 60 分钟,一天有 24 小时。因此,可以手动计算两个时间之间的秒数。

代码

输出

86400

需要牢记的是,我们仍然可以表示纪元之前的时间,在这种情况下,结果将是负数。

使用 2022 年 4 月 2 日作为纪元,我们可以将 IST 2022 年 4 月 1 日午夜表示为 -86400 秒。

UTC 1970 年 1 月 1 日是最常用的纪元,但不是唯一的纪元。不同的文件系统、操作系统和 API 偶尔会使用不同的纪元。

UNIX 系统将其纪元定义为 1970 年 1 月 1 日。另一方面,Win32 API 指定其纪元日期为 1601 年 1 月 1 日。

我们可以使用 time 来查找系统上的纪元。gmtime() 是一个时间模块函数。

代码

输出

time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
1970-01-01 00:00:00