欢迎访问宙启技术站
智能推送

使用Python中的time()函数实现时间相关操作

发布时间:2023-06-01 04:40:07

在Python中,time模块提供了一组函数,可以实现时间和日期的相关操作。其中,time()函数是最基本、最常用的函数之一,主要用于获取当前时间戳。本文将介绍time()函数的基本用法,包括获取当前时间戳、将时间戳转换为时间字符串、将时间字符串转换为时间戳等操作。

一、获取当前时间戳

在Python中,我们可以使用time()函数获取当前时间戳,即从1970年1月1日午夜(格林威治时间)到当前时间的秒数。

下面是一个简单的示例代码:

import time

timestamp = time.time()

print("当前时间戳为:", timestamp)

输出结果:

当前时间戳为: 1632357330.5119178

这表示从1970年1月1日到当前时间(2021年9月23日19时15分30秒)的秒数为1632357330.5119178秒。

二、将时间戳转换为时间字符串

通常情况下,我们更习惯使用“年-月-日 时:分:秒”格式的时间字符串来表示时间。因此,当我们需要将时间戳转换为时间字符串时,可以使用time模块中的strftime()函数。

strftime(format, t)

参数说明:

- format:时间字符串的格式,可以使用各种占位符表示年、月、日、小时、分钟和秒等,如“%Y-%m-%d %H:%M:%S”表示“年-月-日 时:分:秒”。

- t:时间戳或struct_time对象,指定要转换的时间。

下面是一个示例代码:

import time

timestamp = 1632357367.2320452

# 将时间戳转换为时间元组
time_tuple = time.localtime(timestamp)

# 将时间元组转换为时间字符串
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)

print("时间戳:", timestamp)
print("时间字符串:", time_str)

输出结果:

时间戳: 1632357367.2320452
时间字符串: 2021-09-23 19:16:07

三、将时间字符串转换为时间戳

如果我们有一个时间字符串,想要将它转换为时间戳,可以使用strptime()函数。

strptime(str, format)

参数说明:

- str:表示要转换的时间字符串。

- format:表示时间字符串的格式,与strftime()函数的format参数含义相同。

下面是一个示例代码:

import time

time_str = "2021-09-23 19:16:07"

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

# 将时间元组转换为时间戳
timestamp = time.mktime(time_tuple)

print("时间字符串:", time_str)
print("时间戳:", timestamp)

输出结果:

时间字符串: 2021-09-23 19:16:07
时间戳: 1632357367.0

需要注意的是,strptime()函数返回的是时间元组,需要使用mktime()函数将其转换为时间戳。

四、其他常用函数

除了time()、strftime()和strptime()函数外,time模块还提供了一些其他常用的时间函数,它们的作用如下:

- localtime():将时间戳或时间元组转换为本地时间。

- gmtime():将时间戳或时间元组转换为UTC时间。

- sleep():使程序休眠指定的秒数。

下面是一个示例代码,演示如何使用localtime()函数获取本地时间:

import time

timestamp = 1632357367.2320452

# 将时间戳转换为本地时间
local_time = time.localtime(timestamp)

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

输出结果:

时间戳: 1632357367.2320452
本地时间: time.struct_time(tm_year=2021, tm_mon=9, tm_mday=23, tm_hour=19, tm_min=16, tm_sec=7, tm_wday=3, tm_yday=266, tm_isdst=0)

需要注意的是,localtime()函数返回的是struct_time对象,与时间戳或时间元组不同。struct_time对象包含了年、月、日、小时、分钟、秒、星期几、一年中的第几天和夏令时等信息。

需要根据实际需求选择合适的函数进行时间操作。