输入一个日期后面输入增加的天数,最后输出增加后的日期
时间: 2023-05-25 13:04:48 浏览: 44
对于输入的日期,我需要知道它的年份、月份和日期。然后我根据输入的天数,将这个天数加到日期上,并计算出新的年份、月份和日期,最终输出增加后的日期。
以下是 Python 代码示例:
```python
from datetime import datetime, timedelta
# 输入日期
date_str = input("请输入日期,格式为YYYY-MM-DD:")
date = datetime.strptime(date_str, "%Y-%m-%d")
# 输入增加的天数
days = int(input("请输入要增加的天数:"))
# 计算增加后的日期
new_date = date + timedelta(days=days)
new_date_str = new_date.strftime("%Y-%m-%d")
# 输出结果
print("增加后的日期为:", new_date_str)
```
输入示例:
```
请输入日期,格式为YYYY-MM-DD:2021-03-15
请输入要增加的天数:10
```
输出示例:
```
增加后的日期为: 2021-03-25
```
相关问题
用c++写一个程序输入一个日期后面输入增加的天数,最后输出增加后的日期
```c
#include <stdio.h>
int main()
{
int year, month, day;
int add_days, days_in_month;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
printf("请输入增加的天数:");
scanf("%d", &add_days);
// 计算当前日期是当年的第几天
int days = 0;
for (int i = 1; i < month; i++) {
switch (i) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days += 31; break;
case 4: case 6: case 9: case 11:
days += 30; break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
days += 29; // 闰年2月29天
else
days += 28; // 平年2月28天
break;
}
}
days += day;
// 增加天数
days += add_days;
// 计算增加后的日期
day = days % 100; days /= 100;
month = days % 100; days /= 100;
year += days;
// 处理月份和天数
if (month > 12) {
year += month / 12;
month %= 12;
}
days_in_month = 31; // 假定是31天
switch (month) {
case 4: case 6: case 9: case 11:
days_in_month = 30; break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
days_in_month = 29;
else
days_in_month = 28;
break;
}
if (day > days_in_month) {
month++;
day -= days_in_month;
if (month > 12) {
year += month / 12;
month %= 12;
}
}
// 输出增加后的日期
printf("增加后的日期为:%04d年%02d月%02d日\n", year, month, day);
return 0;
}
```
用c++帮我写一个日期计算器代码,要求输入一个日期,后面输入增加的天数,最后显示增加后的日期
下面是一个简单的日期计算器代码,可以实现输入一个日期,输入增加的天数,然后输出增加后的日期:
```c
#include <stdio.h>
int main() {
int year, month, day;
int days_to_add;
int days_in_month[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 获取输入的日期和增加天数
printf("请输入一个日期(年-月-日):\n");
scanf("%d-%d-%d", &year, &month, &day);
printf("请输入要增加的天数:\n");
scanf("%d", &days_to_add);
// 计算增加后的日期
while (days_to_add > 0) {
// 判断是否是闰年
int is_leap_year = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
// 计算这个月有几天
int days_in_this_month = days_in_month[month];
if (month == 2 && is_leap_year) {
days_in_this_month++;
}
// 如果增加天数大于这个月还剩下的天数,就跳到下一个月
if (days_to_add > days_in_this_month - day) {
days_to_add -= (days_in_this_month - day + 1);
day = 1;
month++;
if (month > 12) {
year++;
month = 1;
}
} else {
// 如果增加天数小于这个月还剩下的天数,就直接增加天数
day += days_to_add;
days_to_add = 0;
}
}
// 输出增加后的日期
printf("增加后的日期为:%d年%d月%d日\n", year, month, day);
return 0;
}
```
实际上,这个计算器还有很多需要改进的地方,比如没有对输入进行有效性验证,只支持增加天数而没有支持减少天数等。但是,这个代码可以提供一个基本的思路,后续可以根据需要进行扩充和优化。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)