Python 的 datetime
模块提供了处理日期和时间的类。这些类可以用来获取当前日期和时间、操作日期和时间(比如加减天数、月份、年份等)、格式化日期和时间等。以下是一些常用的 datetime
模块的功能和用法:
导入模块
首先,你需要导入 datetime
模块:
python复制代码
import datetime |
获取当前日期和时间
python复制代码
now = datetime.datetime.now() | |
print("当前日期和时间:", now) |
获取当前日期
python复制代码
today = datetime.date.today() | |
print("当前日期:", today) |
创建日期和时间对象
你可以使用 datetime.date
和 datetime.datetime
类来创建日期和时间对象:
python复制代码
# 创建一个日期对象 | |
date = datetime.date(2023, 10, 5) | |
print("创建的日期:", date) | |
# 创建一个日期时间对象 | |
dt = datetime.datetime(2023, 10, 5, 14, 30, 0) | |
print("创建的日期时间:", dt) |
日期和时间的格式化
你可以使用 strftime
方法将日期和时间对象格式化为字符串:
python复制代码
formatted_date = date.strftime("%Y-%m-%d") | |
print("格式化后的日期:", formatted_date) | |
formatted_datetime = dt.strftime("%Y-%m-%d %H:%M:%S") | |
print("格式化后的日期时间:", formatted_datetime) |
常用的格式化字符串:
%Y
- 年(四位数)%m
- 月(01 到 12)%d
- 日(01 到 31)%H
- 小时(24 小时制,00 到 23)%M
- 分钟(00 到 59)%S
- 秒(00 到 59)
解析字符串为日期和时间
你可以使用 strptime
方法将字符串解析为日期和时间对象:
python复制代码
date_str = "2023-10-05" | |
parsed_date = datetime.datetime.strptime(date_str, "%Y-%m-%d").date() | |
print("解析后的日期:", parsed_date) | |
datetime_str = "2023-10-05 14:30:00" | |
parsed_datetime = datetime.datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S") | |
print("解析后的日期时间:", parsed_datetime) |
日期和时间的运算
你可以对日期和时间对象进行加减运算:
python复制代码
# 加一天 | |
tomorrow = today + datetime.timedelta(days=1) | |
print("明天:", tomorrow) | |
# 减一天 | |
yesterday = today - datetime.timedelta(days=1) | |
print("昨天:", yesterday) | |
# 加一小时 | |
one_hour_later = dt + datetime.timedelta(hours=1) | |
print("一小时后:", one_hour_later) |
获取日期和时间的各个部分
你可以使用 year
, month
, day
, hour
, minute
, second
等属性来获取日期和时间的各个部分:
python复制代码
print("年:", date.year) | |
print("月:", date.month) | |
print("日:", date.day) | |
print("小时:", dt.hour) | |
print("分钟:", dt.minute) | |
print("秒:", dt.second) |
时间戳
你可以将日期和时间对象转换为时间戳(自 Unix 纪元以来的秒数),或者将时间戳转换为日期和时间对象:
python复制代码
# 将日期时间对象转换为时间戳 | |
timestamp = dt.timestamp() | |
print("时间戳:", timestamp) | |
# 将时间戳转换为日期时间对象 | |
from_timestamp = datetime.datetime.fromtimestamp(timestamp) | |
print("从时间戳转换的日期时间:", from_timestamp) |
总结
datetime
模块提供了丰富的功能来处理日期和时间,从获取当前日期和时间、创建日期和时间对象、格式化日期和时间、解析字符串为日期和时间,到日期和时间的运算和时间戳的转换,几乎涵盖了所有常见的日期和时间操作。