datetime 模块说白了就是 Python 中用于处理日期和时间的模块。
import datetime
datetime模块中包含的主要类为:
主要是有两个常量:
下面介绍的datetime模块中5大类的具体使用方法:
方法一
# import datetime
# # res = datetime.date(2023,12,20)
# print(datetime.date(2023,12,20))
# 2023-12-20
方法二
import datetime
from datetime import date
today = date.today
print(today)#
res = datetime.date(2023,12,20)
print(res)
#2023-12-20
import datetime
res = datetime.date(2023, 12, 20)
# 获取年、月、日和星期几
year = res.year
month = res.month
day = res.day
weekday = res.weekday()
# 将星期几转换为具体的名称
weekday_names = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
weekday_name = weekday_names[weekday]
# 打印结果
print("今年", year)# 今年 2023
print('本月', month)# 本月 12
print('今日', day)# 今日 20
print('星期几', weekday_name) #星期几 星期三
print(res) #2023-12-20
import datetime
local_date = datetime.datetime.today()
print(local_date)
print(local_date.year)
print(local_date.month)
print(local_date.day)
print(local_date.weekday())
print(local_date.isoweekday())
# 2023-12-20 16:28:41.882140
# 2023
# 12
# 20
# 2
# 3
获取年月日
import datetime
now_date = datetime.date.today()
print(now_date) #2023-12-20
获取年月日分秒
import datetime
local_date = datetime.datetime.today()
print(local_date)# 2023-12-20 16:23:30.116422
你可以怎么理解timedelta
是 datetime
模块中的一个类,用于表示时间间隔(时间差)。
from datetime import datetime, timedelta
# 获取当前日期和时间
now_day = datetime.now()
# 创建一个 timedelta 对象表示一天的时间间隔
one_day = timedelta(days=1)
# 计算昨天的日期
yesterday = now_day - one_day
# 计算明天的日期
tomorrow = now_day + one_day
# 输出结果
print("当前日期和时间:", now_day)# 当前日期和时间: 2023-12-20 16:46:46.628095
print("昨天的日期:", yesterday)# 昨天的日期: 2023-12-19 16:46:46.628095
print("明天的日期:", tomorrow)# 明天的日期: 2023-12-21 16:46:46.628095
timedelta
对象还支持其他参数,如 hours
、minutes
、seconds
等,以及负数用于表示过去的时间间隔。
from datetime import timedelta
now_day = datetime.now()
now_time = timedelta(hours=2,minutes=30)
new_time = datetime.now() + one_day
print('两个半小时后的时间:' ,new_time)
# 两个半小时后的时间: 2023-12-21 16:57:31.982374
import datetime
birthday = datetime.date(2024, 1, 31)
now_date = datetime.date.today()
today = datetime.date.today()
days = birthday - now_date
print('生日:{}'.format(birthday))# 生日:2024-01-31
print('今天的日期:{}'.format(today))# 今天的日期:2023-12-20
print('距离生日还有{}天'.format(days))# 距离生日还有42 days, 0:00:00天