#_*_coding:utf_*_
#!/usr/bin/env python now_day=input('当前某一天:').format('%Y.%m.%d')%%输入日期(年.月.日) year=int(now_day.split('.')[0])%%年月日用符号“.”分隔开,年放在第一个位置
month=int(now_day.split('.')[1])%%月放在第二个位置
day=int(now_day.split('.')[2])%%日放在第三个位置
print(year,month,day)%%输出使用者
a=[1,3,5,7,8,10]%%将月份中有三十一天的列入一个数组
b=[4,6,9,11]%%将月份中只有三十天的列入一个数组
if month in a:%%如果月份属于a中,则判断日是否为三十一,不是则日加一,是则月加一
if day == 31:
month =int(month) + 1
day=1
print('%04d-%02d-%02d' % (year, month, day))
else:
if day < 32:
day = int(day) + 1
print('%04d-%02d-%02d' % (year, month, day))
elif month in b:%%如果月份属于b中,则判断日是否为三十,不是则日加一,是则月加一
if day == 30:
month = int(month)+ 1
day=1
print('%04d-%02d-%02d' % (year, month, day))
else:
if day < 32:
day = int(day) + 1
print('%04d-%02d-%02d' % (year, month, day))
elif month == 12 and day == 31:%%月份为12,日为31,则年加一
year = int(year) + 1
month=1
day=1
print('%04d-%02d-%02d' % (year, month, day))
elif month == 12 and day<32:%%月份为12,日小于31,则日加一
day = int(day) + 1
print('%04d-%02d-%02d' % (year, month, day))
elif month>12 or day>31:%%输入日期,月份大于12,日大于31,则输入错误
print('error input')
elif (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0:%%判断年是否为闰年,针对2月份来做约束
if month == 2 and day == 29:
month = int(month) + 1
day = 1
print('%04d-%02d-%02d' % (year, month, day))
else:
if day <32:
day = int(day) + 1
print('%04d-%02d-%02d' % (year, month, day))
else:
if month == 2 and day == 28:
month = int(month) + 1
day = 1
print('%04d-%02d-%02d' % (year, month, day))
else:
if day <32:
day = int(day) + 1
print('%04d-%02d-%02d' % (year, month, day))

随机推荐

  1. 四、springBoot 优雅的创建定时任务

    前言 好几天没写了,工作有点忙,最近工作刚好做一个定时任务统计的,所以就将springboot 如何创建定时任务整理了一下. 总的来说,springboot创建定时任务是非常简单的,不用像spring ...

  2. ASP.NET Core 3.0 : 二十四. 配置的Options模式

    上一章讲到了配置的用法及内部处理机制,对于配置,ASP.NET Core还提供了一种Options模式.(ASP.NET Core 系列目录) 一.Options的使用 上一章有个配置的绑定的例子,可 ...

  3. Android Studio [Activity的生命周期]

    package com.xdw.a122; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; imp ...

  4. telnet命令问题解决-bash: telnet: command not found

    root@cClient:/]#telnet cMaster 44444 bash: telnet: command not found -----------解决办法------------ 解决方 ...

  5. append追加的html片段,添加点击事件没有反应,解决!

    对于追加的元素来说,属于未来展现的内容,我们此时不能使用一般点击事情处理,需要用未来事件绑定. 例如:我点击车牌号显示车辆详情,如下绑定. //绑定未来元素 $("body").d ...

  6. Angular template ng-template/container/content

    1. ng-template 形式:<ng-template>...</ng-template> 默认ng-template中的内容会隐藏; 可通过[ngIf]来控制内容显示隐 ...

  7. MongoDB 学习笔记之 group聚合

    group聚合: key: 分组字段 cond:过滤条件 reduce: curr是当前行 result是每组的结果集 initial : 组变量初始值 finalize: 统计一组后的回调函数 用g ...

  8. MyBatis resultType用Map 返回值中有NULL则缺少字段 返回值全NULL则map为null

    这个问题我大概花了2个小时才找到结果 总共需要2个设置 这里是对应springboot中的配置写法 @select("select sum(a) a,sum(b) b from XXX wh ...

  9. WebGL简易教程(十一):纹理

    目录 1. 概述 2. 实例 2.1. 准备纹理 2.2. 配置纹理 2.3. 使用纹理 3. 结果 4. 参考 1. 概述 在之前的之前的教程<WebGL简易教程(九):综合实例:地形的绘制& ...

  10. 【TencentOS tiny】深度源码分析(6)——互斥锁

    互斥锁 互斥锁又称互斥互斥锁,是一种特殊的信号量,它和信号量不同的是,它具有互斥锁所有权.递归访问以及优先级继承等特性,在操作系统中常用于对临界资源的独占式处理.在任意时刻互斥锁的状态只有两种,开锁或 ...