Python中日期模块主要包括datetime模块和calendar模块,下面我会对这两个模块进行讲解。
- datetime模块: datetime模块提供了日期和时间的处理函数和类。常用的类有datetime、date、time和timedelta。
datetime类用于表示日期和时间,可以通过构造函数创建datetime对象。常用的与日期和时间相关的属性和方法有:
- year: 年份
- month: 月份
- day: 日期
- hour: 小时
- minute: 分钟
- second: 秒钟
- strftime(format): 将datetime对象格式化为指定格式的字符串
- strptime(string, format): 将指定格式的字符串解析为datetime对象
date类用于表示日期,常用的属性和方法有:
- year: 年份
- month: 月份
- day: 日期
- strftime(format): 将date对象格式化为指定格式的字符串
- strptime(string, format): 将指定格式的字符串解析为date对象
time类用于表示时间,常用的属性和方法有:
- hour: 小时
- minute: 分钟
- second: 秒钟
- strftime(format): 将time对象格式化为指定格式的字符串
- strptime(string, format): 将指定格式的字符串解析为time对象
timedelta类用于表示时间间隔,可以用于日期和时间的计算,例如计算两个日期之间的天数差、时间差等。
- calendar模块: calendar模块提供了处理日期和时间的一些函数,例如判断某年是否为闰年、获取某个月的日历等。
常用的函数有:
- isleap(year): 判断某年是否为闰年,是返回True,否则返回False
- leapdays(y1, y2): 获取两个年份之间的闰年总数
- monthrange(year, month): 获取某个月的第一天是星期几和该月的天数
- weekday(year, month, day): 获取某个日期是星期几,返回值为0-6,0表示星期一,6表示星期日
- calendar(year, width, lines): 获取某年的日历,width表示每个日期的宽度,lines表示每个月的行数
import datetime
# 创建一个datetime对象
dt = datetime.datetime(2022, 12, 31, 23, 59, 59)
# 获取当前的日期和时间
now = datetime.datetime.now()
# 获取日期部分
date = now.date()
# 获取时间部分
time = now.time()
# 格式化datetime对象为字符串
str_time = now.strftime("%Y-%m-%d %H:%M:%S")
# 将字符串转换为datetime对象
dt_str = "2022-12-31 23:59:59"
dt = datetime.datetime.strptime(dt_str, "%Y-%m-%d %H:%M:%S")
# 计算两个日期之间的差值
delta = dt - now
print(dt)
print(now)
print(date)
print(time)
print(str_time)
print(delta)
2022-12-31 23:59:59
2022-12-05 10:30:00.123456
2022-12-05
10:30:00.123456
2022-12-05 10:30:00
26 days, 13:29:59.876544