Python标准库datetime date模块的详细介绍
简介
datetime
模块是Python标准库中用于处理日期和时间的模块,其中date
模块是datetime
模块的一个子模块,主要提供了对日期的相关操作和处理。
date模块的常用方法和属性
date.today()
该方法返回当前日期,并以datetime.date
对象的形式进行返回。例如:
import datetime
today = datetime.date.today()
print(today)
# 输出:2021-07-08
date(year, month, day)
该方法用于创建一个datetime.date
对象,需要传入三个参数:
year
:年份,整型,例如2021;month
:月份,整型(1~12);day
:天数,整型(1~31)。
例如:
import datetime
d = datetime.date(2021, 7, 8)
print(d)
# 输出:2021-07-08
date.year
该属性用于获取datetime.date
对象中的年份,例如:
import datetime
d = datetime.date(2021, 7, 8)
print(d.year)
# 输出:2021
date.month
该属性用于获取datetime.date
对象中的月份,例如:
import datetime
d = datetime.date(2021, 7, 8)
print(d.month)
# 输出:7
date.day
该属性用于获取datetime.date
对象中的天数,例如:
import datetime
d = datetime.date(2021, 7, 8)
print(d.day)
# 输出:8
示例
示例1
现在我们需要编写一个函数,用于判断当前日期是否是闰年,可以使用date.year
属性和闰年的定义来实现,具体代码如下:
import datetime
def is_leap_year():
today = datetime.date.today()
if today.year % 4 == 0 and today.year % 100 != 0 or today.year % 400 == 0:
return f"{today.year}年是闰年"
else:
return f"{today.year}年不是闰年"
print(is_leap_year())
# 当前输出:2021年不是闰年
示例2
现在我们需要编写一个函数,用于计算一个人的生命长度,该函数可以接收一个日期的字符串,例如"1990-01-01",并将其转化为datetime.date
对象,再计算出从该日期到今天的时间长度,以XXX天
的形式返回。具体代码如下:
import datetime
def life_length(birthday):
birthday = datetime.datetime.strptime(birthday, "%Y-%m-%d").date()
today = datetime.date.today()
delta = (today - birthday).days
return f"你已经活了{delta}天"
print(life_length("1990-01-01"))
# 当前输出:你已经活了11638天
在上述代码中,我们使用了datetime.datetime.strptime
方法将日期字符串转化为datetime.date
对象,该方法需要传入两个参数,第一个参数是待转化的字符串,第二个参数是一个格式化字符串,用于说明待转化字符串所在的日期格式。在本例中,"%Y-%m-%d"表示日期格式为"年-月-日"的形式。最后,我们计算从生日到今天的时间长度,使用(today-birthday).days
即可实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python标准库datetime date模块的详细介绍 - Python技术站