Python time.gmtime() 方法



Python time gmtime() 方法用于以对象的形式获取自 epoch 以来经过的时间。该对象使用关键字 “struct_time” 表示,并包含各种字段来指定时间的元素。此方法接受浮点数(指经过的秒数)作为参数,并以对象的形式提供 UTC 时间。

与 ctime() 方法不同,此方法返回 UTC 时间的对象表示形式。

注意:如果未传递参数或作为 None 传递参数,则默认情况下,该方法使用 time() 返回的值作为其参数。struct_time 对象的 dst_flag 字段将始终为 0。

语法

以下是 Python time gmtime() 方法的语法 -


 time.gmtime([ sec ])

参数

  • sec − (可选)一个浮点数,表示经过的秒数。

返回值

此方法将自系统中纪元以来经过的时间作为对象返回。

以下示例显示了 Python time gmtime() 方法的用法。我们不会将任何值传递给此方法的 optional 参数。因此,该方法默认将 time() 方法的返回值作为其参数。该方法将当前时间作为对象返回。


import time

gt = time.gmtime()
print("Current UTC time:", gt)

当我们运行上述程序时,它会产生以下结果——

Current UTC time: time.struct_time(tm_year=2023, tm_mon=1, tm_mday=9, tm_hour=12, tm_min=28, tm_sec=40, tm_wday=0, tm_yday=9, tm_isdst=0)

如果传递的参数是一个整数,表示从系统纪元开始经过的秒数,则该方法返回经过的时间之后日期的对象表示形式。

在下面的示例中,我们尝试从 epoch 中查找 1000 秒后的日期。执行此程序的系统纪元是 UTC 时间的 “Thu Jan 1 00:00:00 1970”。此方法返回经过的秒数之后的时间。


import time

# Passing the seconds elapsed as an argument to this method
gt = time.gmtime(1000)
print("Python UTC time:", gt)

输出

Python UTC time: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=16, tm_sec=40, tm_wday=3, tm_yday=1, tm_isdst=0)

gmtime() 方法还可用于获取系统的纪元(UTC 时间)。

据说该方法返回给定经过的秒数之后的时间,根据系统的纪元计算。因此,如果我们将参数传递为 '0',该方法将返回系统的纪元。如果需要查找纪元的本地时间,则使用 ctime() 方法。

 


import time

# Passing the seconds elapsed as an argument to this method
gt = time.gmtime(0)
print("The epoch of the system:", gt)

让我们编译并运行上面的程序,以产生以下结果——

The epoch of the system: 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)

此方法不考虑表示经过的秒数的浮点数参数的小数部分。

让我们将 2.99 秒作为参数传递给 gmtime() 方法。即使数字几乎等于 3 秒,该方法也应完全忽略小数部分并将参数视为只有 2 秒。它显示在下面的示例中。


import time

# Passing the seconds elapsed as an argument to this method
gt = time.gmtime(2.99)
print("Time after elapsed seconds:", gt)

如果我们编译并运行上面的程序,输出如下 -

Time after elapsed seconds: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=2, tm_wday=3, tm_yday=1, tm_isdst=0)