Python 中处理时间的函数主要集中在 datetime
和 time
这两个模块中。
一、datetime
模块
datetime
模块提供了日期和时间的处理功能,它是基于类的。主要类有 datetime.date
、datetime.time
、datetime.datetime
、datetime.timedelta
和 datetime.tzinfo
。
1.获取当前日期和时间
import datetime
now = datetime.datetime.now()
print("当前日期和时间:", now)
2.日期时间的加减
import datetime
from datetime import timedelta
now = datetime.datetime.now()
print("当前日期和时间:", now)
#加上一天
one_day_later = now + timedelta(days=1)
print("一天后:", one_day_later)
# 减去一小时
one_hour_earlier = now - timedelta(hours=1)
print("一小时前:", one_hour_earlier)
#输出:
# 当前日期和时间: 2024-07-16 21:31:52.190194
# 一天后: 2024-07-17 21:31:52.190194
# 一小时前: 2024-07-16 20:31:52.190194
3.解析字符串为日期时间
str = "2024-07-16 21:31:52"
date_str = datetime.strptime(str, "%Y-%m-%d %H:%M:%S")
print("从字符串转换的日期时间:", date_str)
#输出:从字符串转换的日期时间: 2024-07-16 21:31:52
4.格式化日期时间
now = datetime.now()
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print("格式化后的日期时间:", formatted_now)
#输出:格式化后的日期时间: 2024-07-16 21:49:02
datetime
模块是Python中处理日期和时间的核心工具,掌握它对于进行日期时间的计算和格式化等操作至关重要。
二、time模块
在Python中,time
模块提供了各种与时间相关的函数。这些函数主要用于处理时间戳(自纪元(通常是UNIX纪元,即1970年1月1日00:00:00 UTC)以来的秒数)、时间测量(如测量代码执行时间)、以及将时间戳转换为可读的日期和时间格式(尽管这通常通过 datetime
模块来更灵活地完成)
1.获取当前时间戳
import time
timestamp = time.time()
print("当前时间戳:", timestamp)
#输出:当前时间戳: 1721137959.972097
2.使程序暂停
print("开始暂停...")
time.sleep(5) # 暂停5秒
print("暂停结束")
输出第一个和第二个之间会停止5s
3.格式化当前时间
now = time.localtime()
# 格式化时间为字符串
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", now)
print("当前时间(格式化后):", formatted_time)
#输出:当前时间(格式化后): 2024-07-16 21:56:16
总结
在Python中,这两个模块各有优势,datetime
模块更适合处理日期和时间的加减、格式化等操作,而 time
模块则更适合需要处理时间戳、测量耗时等场景。根据具体需求选择合适的模块或函数进行处理。