您的位置:

深入了解Python localtime函数

一、localtime函数简介

Python程序中的时间显示格式一般默认为时间戳,即从1970年1月1日零时(UTC)开始所经过的秒数,且时间戳是一个浮点型小数。为了方便查看及使用,在Python程序中使用gmtime()、localtime()函数将时间戳格式化成字符串显示。

Python localtime()函数用于将一个时间戳转换为指定时区的时间。在time模块中,localtime()函数是最常用的,它的返回值是一个元组,元组共有九个元素。这九个元素分别是:年、月、日、小时、分钟、秒、一周的第几天、一年的第几天、是否为夏令时。

import time

# localtime()函数返回当前时间的本地时区的struct_time对象
localtime = time.localtime()

print("本地时间为:", localtime)

二、使用localtime函数获取特定格式的时间

使用time.strftime()函数将本地时间格式化为想要的格式。我们可以根据各自需求设定时间的显示格式,常用的字符与含义如下表所示:

字符 含义
%Y 年份,如2018
%m 月份,如05
%d 日,如03
%H 小时,24小时制,如19
%M 分钟,如28
%S 秒,如56
import time

# 将不带格式的时间转换为带格式的字符串
now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

print("当前时间为:", now_time)

三、计时器

localtime()函数可以实现简单的计时器,可以获得程序运行的时间:

import time

start_time = time.localtime()
print("程序开始时间为:", time.strftime("%Y-%m-%d %H:%M:%S", start_time))

#模拟程序运行
time.sleep(5)

end_time = time.localtime()
print("程序结束时间为:", time.strftime("%Y-%m-%d %H:%M:%S", end_time))

# 计算程序运行时间
run_time = time.mktime(end_time) - time.mktime(start_time)

print("程序运行时间为:", int(run_time), "秒")

四、时间戳与结构化时间的转换

在Python程序中,除了使用localtime()函数将时间戳转换为结构化时间,还可以使用gmtime()函数将时间戳转换为UTC时区的结构化时间。

与之对应的是mktime()函数,可以将结构化时间转换为时间戳:

import time

# 时间戳
secs = time.time()
local_time = time.localtime(secs)

print("时间戳:", secs)
print("本地时间:", local_time)

# 结构化时间
struct_time = time.gmtime(secs)

print("UTC时间:", struct_time)

# 结构化时间转换为时间戳
mk_secs = time.mktime(struct_time)

print("mk_secs:", mk_secs)

五、将字符串转化为结构化时间

使用strptime()函数将时间字符串转换成结构化时间:

import time

time_str = "2022-01-14 15:46:12"

# 将字符串转换为结构化时间
struct_time = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")

print(struct_time)

六、总结

本文围绕Python localtime函数进行详细阐述,从localtime函数的简介、使用localtime函数获取特定格式的时间、计时器、时间戳与结构化时间的转换、以及字符串转化为结构化时间等多个方面进行了细致的介绍。通过本文的学习,相信读者已经对Python localtime函数有了更加深入的了解。