在Python中,处理时间主要通过time、datetime和calendar等模块来实现。这里,我将重点介绍time和datetime模块,因为它们是日常编程中最常用的。
1. time 模块
time模块提供了各种与时间相关的函数,如获取当前时间、格式化时间、时间转换等。
示例代码
import time
# 获取当前时间戳(从1970年1月1日0时0分0秒到现在的秒数)
timestamp = time.time()
print("当前时间戳:", timestamp)
# 将时间戳转换为本地时间的元组形式
local_time = time.localtime(timestamp)
print("本地时间元组:", local_time)
# 将时间元组格式化为字符串
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print("格式化时间:", formatted_time)
# 等待一定时间(秒)
time.sleep(2)
print("等待了2秒")
2. datetime 模块
datetime模块比time模块提供了更高级的时间处理功能,它基于date、time和datetime这几个类,能够更方便地进行日期的加减、时间的格式化等操作。
示例代码
from datetime import datetime, timedelta
# 获取当前日期和时间
now = datetime.now()
print("当前日期和时间:", now)#当前日期和时间: 2024-08-17 16:48:06.086288
# 获取当前日期
today = datetime.today().date()
print("当前日期:", today)#当前日期: 2024-08-17
# 格式化日期和时间
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print("格式化日期和时间:", formatted_now)#格式化日期和时间: 2024-08-17 16:48:06
# 日期时间的加减
one_day_later = now + timedelta(days=1)
print("一天后的日期和时间:", one_day_later)#一天后的日期和时间: 2024-08-18 16:48:06.086288
# 获取当前时间的年、月、日、时、分、秒
year, month, day = now.year, now.month, now.day
hour, minute, second = now.hour, now.minute, now.second
print(f"年: {year}, 月: {month}, 日: {day}, 时: {hour}, 分: {minute}, 秒: {second}")#年: 2024, 月: 8, 日: 17, 时: 16, 分: 48, 秒: 6
总结
time模块主要提供与时间戳相关的函数,适合进行时间戳的获取、转换和时间的简单格式化等操作。
datetime模块提供了更高级的时间处理功能,通过datetime、date、time和timedelta等类,可以方便地进行日期的加减、时间的格式化以及时间的解析等操作。