Python时间模块

Python时间模块

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

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

Python的time模块是一个非常实用的工具,用于操作与时间相关的函数和对象。因此,我们必须首先导入模块,才能开始在Python中使用time模块。

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

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

添加时间模块

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

import time

什么是纪元

纪元是时间开始的时刻,根据平台不同而有所变化。在Windows和大多数Unix系统上,纪元是1970年1月1日00:00:00(UTC),计算距离纪元过去的秒数时不包括闰秒。我们可以使用time函数来确定在特定平台上的纪元时刻。gmtime(0)。

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

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

代码

# Import time module  

from time import time  
print(time())  

输出:

1659877305.6220002

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

要做到这一点,请将time.ctime()函数传递给time()函数返回的秒数。

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

代码

# Import time module 

import time  

current = time.ctime(2649877305.6210002)  
print("Current time: ", current)  

输出:

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

The Epoch
在上一节中,我们了解到可以在Python中获得日期时间作为浮点对象,它表示自纪元开始以来的时间量。
将来时间的计算是基于一个特定的时刻。这是一个基于特定日期的时间记事系统。
需要注意的是,在使用Python日期时间时,必须记住您正在考虑表示为参考点的时间段。在计算领域中,这个时间点称为纪元。
纪元作为测量时间流逝的起点。
例如,我们可以表示纪元发生在IST 2022年4月2日午夜。如果我们在2022年4月3日午夜找到时间,那么自纪元开始以来必须经过86400秒。
一分钟有60秒,一小时有60分钟,一天有24小时。因此,可以手动计算两个时间之间的秒数。
代码

print(60 * 60 * 24)

输出:

86400

牢记我们仍然可以描述纪元之前的时间,而在这种情况下,结果将不利。

我们可以使用2022年4月1日IST的午夜来表示当前时间与纪元(即2022年4月2日)之间相差的秒数(-86400秒)。

在1970年1月1日,UTC成为最广泛使用的纪元,虽然它并非唯一一个。不同的文件系统、操作系统和API偶尔会使用各种不同的纪元。

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

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

代码

# Import time module  

import time  
from datetime import datetime  

epoch = time.gmtime(0)  
print(epoch)  

# Converting the struct_time object to standard datetime   
print(datetime.fromtimestamp(time.mktime(epoch)))  

输出:

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程