今天学习python教程中的日期,错误处理,if语句,逻辑,列表数组字典,循环
1.日期
日期是一种数据类型,
1.1日期类型 datetime
datetime是日期格式,可以给变量赋予日期格式的值。
使用范例:
from datetime import datetime
today = datetime.now()
print('今天是' + str(today))
执行结果:
今天是2022-04-21 16:58:33.746657
如果要单独显示年,月,日,只需在对应变量后面加上.year
,.month
,.day
即可
例如:
print(today.day)
结果为:
21
值得注意的是,这样获取的年月日是一个int型变量,可以进行int型运算
1.2日期跨度类型 timedelta
timedelta,可以指定一个日期差,比如一天,三天等,使用某个date加减timedelta即可获得相应的date,timedelta中的关键词有:days, seconds, microseconds, milliseconds, minutes, hours, weeks
值得注意的是,并没有year和month关键词,猜测是由于月的天数是不固定导致的。
使用范例:
from datetime import datetime,timedelta
oneday = timedelta(days = 1)
yesterday = today - oneday
print('昨天是' + str(yesterday))
执行结果:
今天是2022-04-21 17:07:12.379615
昨天是2022-04-20 17:07:12.379615
1.3日期的录入 datetime.strptime
有时候我们需要通过输入形式录入日期,此时录入的是string格式,如何转换为date类型呢?需要用药strptime函数。
调用方法:datetime.strptime(待转换变量,'转换格式')
其中,转换格式中,%d
表示日,%m
表示月,%y
表示不带世纪的年份,即只显示后两位,%Y
表示完整年份。
使用示例:
birthday=input('请输入出生年月,按【年/月/日】格式')
birthday_date=datetime.strptime(birthday,'%Y/%m/%d')
merryday=input('请输入结婚纪念日,按【年月日】格式')
merryday_date=datetime.strptime(merryday,'%Y%m%d')
print('出生于'+str(birthday_date)+'结婚于'+str(merryday_date)+'正在计算您的单身时长')
print('单身时长:' + str(merryday_date-birthday_date))
输出示例:
请输入出生年月,按【年/月/日】格式1995/3/18
请输入结婚纪念日,按【年月日】格式1996318
出生于1995-03-18 00:00:00结婚于1996-03-18 00:00:00正在计算您的单身时长
单身时长:366 days, 0:00:00