1、编程试题:
编写一个程序,计算两个日期之间的天数。
导入datetime模块。
定义函数calculate_days_between()数,其中有两个参数:(date1, date2),类型为字符串,格式为YYYY-MM-DD。
在函数内,将字符串转换为datetime对象,并计算date2和date1之间的差异,以天为单位。
以天数的差异作为输出返回。
2、代码实现:
#!/usr/bin/python3.9
# -*- coding: utf-8 -*-
#
# Copyright (C) 2024 , Inc. All Rights Reserved
#
# @Time : 2024/1/9 20:44
# @Author : fangel
# @FileName : 43. 日期相差多少天.py
# @Software : PyCharm
import datetime
def calculate_days_between(date1, date2):
datetime1 = datetime.datetime.strptime(date1,"%Y-%m-%d")
datetime2 = datetime.datetime.strptime(date2,"%Y-%m-%d")
if datetime1 < datetime2:
res = (datetime2 - datetime1).days
else:
res = -(datetime1 - datetime2).days
return res
# 获取用户输入
date1 = input()
date2 = input()
# 调用函数
print(calculate_days_between(date1, date2))
3、代码分析:
(1)在Python中的datetime模块可以处理日期和时间。
其中,strptime函数可以将字符串转换为datetime格式,适用于将字符串日期转化为datetime格式日期,该函数的基本格式如下:datetime.datetime.strptime(date_string, format)。
(2)注意异常情况,如果datetime1时间在后,datetime2时间在前,那么输出结果应该是负数,需要加个负号。
(3)datetime对象的比较操作类似于数字的比较操作,可以使用所有标准的比较运算符,如‘<’、‘>’、‘==’等。
4、运行结果:
输入:
2023-04-14
2023-04-20
输出:
6
输入:
2020-1-1
2024-1-19
输出:
1479