#_*_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. logcat粗略了解(一)

    Logcat Logcat介绍:logcat是android的一个命令行工具,用于的到程序的log信息 Logcat命令格式: [adb] logcat [<option>]…[<f ...

  2. cp -rf 操作时依然会提示覆盖

    在linux上经常会使用cp -rf命令,该命令就是强制覆盖指定目录下的文件,但有时使用该命令依然会提示是否覆盖,cp命令的参数有如下一些: 参数说明: -a:此选项通常在复制目录时使用,它保留链接. ...

  3. IPv6系列-彻底弄明白有状态与无状态配置IPv6地址

    深入研究自动分配IPv6地址的Stateless(无状态)与Stateful(有状态)方式 小慢哥的原创文章,欢迎转载 目录 ▪ 一. Link-Local Address的生成方式 ▪ 二. Glo ...

  4. MongoDB4.0支持事务管理

    ​ 背景 最后我们看一下MongoDB的事务管理,本来是没这一篇的,因为网上大部分资料太老,都为MongoDB之前的版本,的确在MongoDB 4.0版本之前是没有事务管理,但是今天年初MongoDB ...

  5. 死磕 java线程系列之创建线程的8种方式

    (手机横屏看源码更方便) 问题 (1)创建线程有哪几种方式? (2)它们分别有什么运用场景? 简介 创建线程,是多线程编程中最基本的操作,彤哥总结了一下,大概有8种创建线程的方式,你知道吗? 继承Th ...

  6. RMAN备份归档日志ORA-19575

    RMAN备份归档日志ORA-19575 一.问题描述 1)环境oracle 10g; 2)报错现象RMAN进行备份归档报错失败ORA-19575 二.问题处理 1)根据客户说明的现象,百度了一波(详见 ...

  7. SpringMvc问题记录-Controller对于静态变量的访问分析

    问题描述 在于朋友的讨论中分析到一种场景,即:Controller对于一个类中的静态变量进行访问时,如果第一个接口修改该静态变量的数据,另外一个接口获取该静态变量的数据,那么返回的结果是什么? 操作步 ...

  8. IDEA 学习笔记之 Maven项目开发

    Maven项目开发: 配置Maven: 新建Maven项目: 选择webapp: 和eclipse一样,设置: 修改maven配置,添加一个新属性,可以加快项目创建速度: 完成: 新建java和tes ...

  9. Spring Boot (十二): Spring Boot 邮件服务

    最早我们发邮件的时候是使用 JavaMail 来发送邮件,而在 Spring Boot 中, Spring Boot 帮我们将 JavaMail 封装好了,是可以直接拿来使用的. 1. 依赖文件 po ...

  10. Bitmap简介

    1.  BitMap Bit-map的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素.由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省.(PS:划重点 ...