Python 基础教程十九之 Python 日期和时间time
前言
Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数。
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳, 如下实例:
#!/usr/bin/python3
import time
ticks = time.time()
print("当前时间为",ticks)
#!/usr/bin/python3
import time
from datetime import datetime
#获取当前时间戳
current_time = time.time()
print("当前时间戳:",current_time)
# 获取本地时间和UTC时间
local_time = time.localtime(current_time)
utc_time = time.gmtime(current_time)
print("本地时间:", local_time)
print("UTC时间:", utc_time)
Time 模块
Time 模块包含了以下内置函数,既有时间处理的,也有转换时间格式的:
python 时间函数time
在Python中,处理时间通常使用time模块。这个模块提供了多种方式来处理时间,包括获取当前时间、延时、测量代码执行时间等。下面是time模块的一些常用功能:
1. 获取当前时间
获取当前时间戳(自1970年1月1日以来的秒数)
import time
timestamp = time.time()
print("当前时间戳:", timestamp)
获取格式化的当前时间字符串
import time
formatted_time = time.ctime(time.time())
print("当前时间戳:", formatted_time)
2. 延时
延时一定秒数
import time
time.sleep(10) # 延时10秒
print("10秒后执行")
3. 测量代码执行时间
使用time.time()测量代码执行时间
import time
start_time = time.time()
time.sleep(10) # 延时10秒
end_time = time.time()
elapsed_time = end_time - start_time
print(f"代码执行时间: {elapsed_time}秒")
使用time.perf_counter()测量更精确的代码执行时间(包括小的时间间隔)
import time
start_time = time.perf_counter()
time.sleep(10) # 延时10秒
end_time = time.perf_counter()
elapsed_time = end_time - start_time
print(f"代码执行时间: {elapsed_time}秒")
4. 处理本地时间和UTC时间
获取本地时间的结构化表示(年、月、日等)
import time
local_time = time.localtime()
print("本地时间:", local_time)
获取UTC时间的结构化表示
import time
utc_time = time.gmtime() # 获取UTC时间的结构化表示
print("UTC时间:", utc_time)
5. 格式化时间
使用strftime方法可以格式化时间。
import time
formatted_local_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("格式化的本地时间:", formatted_local_time)
6. 解析字符串为时间结构体
import time
time_struct = time.strptime("2025-03-16 12:00:00", "%Y-%m-%d %H:%M:%S")
print("解析后的时间结构体:", time_struct)
这些是time模块的一些基本用法。根据你的具体需求,可能还需要查看datetime模块,它提供了更丰富的日期和时间处理功能,特别是在需要处理复杂日期和时间操作时。例如,datetime模块允许你创建日期、时间对象,进行加减操作,以及更灵活的格式化输出。例如:
from datetime import datetime
now = datetime.now() # 获取当前日期和时间
print("当前日期和时间:", now)