Python学习:python time模块之time.gmtime([secs])函数和time.localtime([secs])函数

time.gmtime([secs])

将以自 epoch 开始的秒数表示的时间转换为 UTC 的 struct_time ,其中 dst 标志始终为零。 如果未提供 secs 或为 None ,则使用 time() 所返回的当前时间。 一秒以内的小数将被忽略。

应用例子

1.time.gmtime()

未传入任何参数时,返回当前UTC时间。北京时间2020/12/09 15:06:30

# 导入time模块
import time


# 未传入sec参数
print(time.gmtime())
输出:
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=9, tm_hour=7, tm_min=6, tm_sec=30, tm_wday=2, tm_yday=344, tm_isdst=0)

2.time.gmtime(1)

传入secs,以自 epoch 开始的秒数表示的时间转换为 UTC 的 struct_time

# 导入time模块
import time


# 传入secs参数
print(time.gmtime(1))
输出
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, 	tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)

time.localtime([secs])

与 gmtime() 相似但转换为当地时间。如果未提供 secs 或为 None ,则使用由 time() 返回的当前时间。当 DST 适用于给定时间时,dst标志设置为 1 。

应用例子

1.time.localtime()

未传入任何参数时,返回当前本地时间。北京时间2020/12/09 15:06:30

# 导入time模块
import time


# 未传入sec参数
print(time.localtime())
输出:
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=9, tm_hour=15, tm_min=6, tm_sec=30, tm_wday=2, tm_yday=344, tm_isdst=0)

2.time.localtime(1)

传入secs,以自 epoch 开始的秒数表示的时间转换为当地的 struct_time

# 导入time模块
import time



# 传入secs参数
print(time.localtime(1))
输出:
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)

class time.struct_time

返回的时间值序列的类型为 gmtime() 、 localtime() 和 strptime() 。它是一个带有 named tuple 接口的对象:可以通过索引和属性名访问值。 存在以下值:

索引 属性 属性
0 tm_year (例如,1993)
1 tm_mon range [1, 12]
2 tm_mday range [1, 31]
3 tm_hour range [0, 23]
4 tm_min range [0, 59]
5 tm_sec range [0, 61]; 见 strftime() 介绍中的 (2)
6 tm_wday range [0, 6] ,周一为 0
7 tm_yday range [1, 366]
8 tm_isdst 0, 1 或 -1;如下所示
N/A tm_zone 时区名称的缩写
N/A tm_gmtoff 以秒为单位的UTC以东偏离

请注意,与C结构不同,月份值是 [1,12] 的范围,而不是 [0,11]。

在调用 mktime() 时, tm_isdst 可以在夏令时生效时设置为1,而在夏令时不生效时设置为0。 值-1表示这是未知的,并且通常会导致填写正确的状态。

当一个长度不正确的元组被传递给期望 struct_time 的函数,或者具有错误类型的元素时,会引发 TypeError 。

猜你喜欢

转载自blog.csdn.net/sinat_37960022/article/details/110924140