Python time.localtime() 方法



Python time localtime() 方法将 Python 时间转换为本地时间。Python 时间据说是自系统纪元以来经过的秒数;而本地时间是相对于系统地理位置的时间。本地时间也由对象表示。

此方法类似于 localtime() 方法,并接受浮点数作为其可选参数。如果未提供或为 None,则使用 time() 方法返回的当前时间。但是,与 localtime() 方法不同的是,当 DST 应用于给定时间时,对象中的 dst 标志设置为 1。

语法

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


 time.localtime([ sec ])

参数

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

返回值

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

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


import time

lt = time.localtime()
print("Current local time:", lt)

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

Current local 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 秒后的日期。执行此程序的系统纪元是当地时间的 “Thu Jan 1 05:30:00 1970”。此方法返回经过的秒数之后的时间。


import time

# Passing the seconds elapsed as an argument to this method
lt = time.localtime(1000)
print("Python local time:", lt)
Python local time: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=5, tm_min=46, tm_sec=40, tm_wday=3, tm_yday=1, tm_isdst=0)

localtime() 方法还可用于获取系统的 epoch(以本地时间表示)。

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


import time

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

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

The epoch of the system: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=5, tm_min=30, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

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

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


import time

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

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

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