判断日期是否是合法的:
需要判断这个日期在我们的公历体系内是否真实存在。如果存在则输出YES,否则输出NO。
已知,一年有 1 月~ 12月,共 12 个不同的月份;其中 1 月、3月、5 月、7 月、8 月、10 月、12月有 31个合法的日,分别为 11 日~ 31 日;4月、6 月、99月、11月有 30个合法的日,分别为 1 日~ 30 日。对于闰年,2 月有 29 个合法的日,分别为 1 日~ 29 日;对于平年(不是闰年的年称为平年),2月有 2 个合法的日,分别为 1日~ 28日。
闰年的判断则遵循如下依据:
非整百年,能被4整除的为闰年。
整百年,能被400整除的是闰年。
1 2#include <iostream>2 2 using std::cin;3 3 using std::cout;4 4 using std::endl;5 5 int main()6 6 {7 7 int year;8 8 int month;9 9 int day;10 10 char op = '-';11 11 cin >> year >> op >> month >> op >> day;12 12 if (year % 100 == 0 && year % 400 == 0)13 13 {14 14 if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)15 15 {16 16 if (day >= 1 && day <= 31)17 17 {18 18 cout << "YES";19 19 }20 20 else21 21 {22 22 cout << "NO";23 23 }24 24 }25 25 else if (month == 4 || month == 6 || month == 9 || month == 11)26 26 {27 27 if (day >= 1 && day <= 30)28 28 {29 29 cout << "YES";30 30 }31 31 else32 32 {33 33 cout << "NO";34 34 }35 35 }36 36 else if(month==2)37 37 {38 38 if (day >= 1 && day <= 29)39 39 {40 40 cout << "YES";41 41 }42 42 else43 43 {44 44 cout << "NO";45 45 }46 46 }47 47 else48 48 {49 49 cout << "NO";50 50 }51 51 }52 52 53 53 else if (year % 100 != 0 && year % 4 == 0)54 54 {55 55 if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)56 56 {57 57 if (day >= 1 && day <= 31)58 58 {59 59 cout << "YES";60 60 }61 61 else62 62 {63 63 cout << "NO";64 64 }65 65 }66 66 else if (month == 4 || month == 6 || month == 9 || month == 11)67 67 {68 68 if (day >= 1 && day <= 30)69 69 {70 70 cout << "YES";71 71 }72 72 else73 73 {74 74 cout << "NO";75 75 }76 76 }77 77 else if(month == 2)78 78 {79 79 if (day >= 1 && day <= 29)80 80 {81 81 cout << "YES";82 82 }83 83 else84 84 {85 85 cout << "NO";86 86 }87 87 }88 88 89 89 else90 90 {91 91 cout << "NO";92 92 }93 93 }94 94 95 95 else 96 96 {97 97 if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)98 98 {99 99 if (day >= 1 && day <= 31) 100 100 { 101 101 cout << "YES"; 102 102 } 103 103 else 104 104 { 105 105 cout << "NO"; 106 106 } 107 107 } 108 108 109 109 else if (month == 4 || month == 6 || month == 9 || month == 11) 110 110 { 111 111 if (day >= 1 && day <= 30) 112 112 { 113 113 cout << "YES"; 114 114 } 115 115 else 116 116 { 117 117 cout << "NO"; 118 118 } 119 119 } 120 120 121 121 else if(month == 2) 122 122 { 123 123 if (day >= 1 && day <= 28) 124 124 { 125 125 cout << "YES"; 126 126 } 127 127 else 128 128 { 129 129 cout << "NO"; 130 130 } 131 131 } 132 132 else 133 133 { 134 134 cout << "NO"; 135 135 } 136 136 } 137 137 138 138 return 0; 139 139 }
转载于:https://www.cnblogs.com/kblin/p/6858542.html
判断日期是否是合法的:相关推荐
- Problem G: 函数---判断日期(年月日)是否合法
Problem G: 函数---判断日期(年月日)是否合法 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 566 Solved: 240 Descr ...
- Javascript判断日期是否合法
1, 写一个函数判断一个年份是不是闰年 2, 写一个函数判断一个数是不是素数(又称质数, 除了1和本身以外不再有其他数整除) 3, 年月日分别为自定义函数的参数, 判断某一个日期是否为合法的日期; 如 ...
- pandas判断日期是否是闰年(is_leap_year)实战: 数据列转化为日期(时间)格式、判断pandas的日期数据列是否是闰年
pandas判断日期是否是闰年(is_leap_year)实战: 数据列转化为日期(时间)格式.判断pandas的日期数据列是否是闰年 目录
- python判断日期_python如何判断日期的合法性?
判断日期的合法性,有两层含义,一是日期格式是否合法,二是格式合法后,其所表示的实际的那一天,是否真实存在!在python中,做这个合法性的判断,so easy!~~ 我们需要用到datetime模块中 ...
- LINQ中判断日期时间段
1)转换日期格式为DateTime类型 DateTime dtToday = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd&quo ...
- java 日期是否合法_java 中 Date 类型快判断日期是否合法.
// 如果日期不合法,则抛异常try {String date_str = 5555-22-33;SimpleDateFormat format=new SimpleDateFormat(yyyy-M ...
- js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内...
/** * 日期解析,字符串转日期 * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16 * @returns {Date} 返回对应的日期对 ...
- html判断用户名的合法性,javascript简单判断输入内容是否合法的方法
本文实例讲述了javascript简单判断输入内容是否合法的方法.分享给大家供大家参考,具体如下: 关于检测用户输入的内容是否有非法的字符检测实现思路 1.定义合法的字符串(源字符串) 2.获取用户输 ...
- JS判断日期是否在同一个星期内,和同一个月内
今天要用到判断日期是否在同一个星期内和是否在同一个月内,在网上找了好一会儿也没找到合适的,然后自己写了一个方法来处理这个问题,思路就不详细介绍了,直接附上代码,自己测试了一下 没有问题,若有问题请在评 ...
- java 正则表达式 判断 日期_怎么在java中利用正则表达式对时间日期进行判断
怎么在java中利用正则表达式对时间日期进行判断 发布时间:2020-12-08 16:18:34 来源:亿速云 阅读:105 作者:Leah 这篇文章给大家介绍怎么在java中利用正则表达式对时间日 ...
最新文章
- redis设置键的生存时间或过期时间
- Google图片加载库Glide的简单封装GlideUtils
- libreoffice Error: source file could not be loaded
- 数塔(HDU-2084)
- 通过火影忍者英雄案例 理解数据类型
- php计算对角线,python计算对角线有理函数插值的方法
- FusionCharts图表右键菜单的各种典型示例
- POJ 2728 Desert King(最优比率生成树)
- 场景文字检测OD与字符识别OCR概述
- windows8 初始界面和功能
- 社交网络分析算法应用,社交网络分析算法
- 将ppt里的图片高分辨率保存的方法
- Uncode-DAL 1.0.18 发布,Java 通用数据访问层
- 2017.3.15读完《围城》
- 计算机辅助翻译实验室,计算机辅助翻译实验室建设及应用探索.pdf
- C1认证学习六(HTTPS)
- 报SQL异常Parameter index out of range (1 > number of parameters, which is 0).
- 平头哥面试——芯片工程师面经
- Google Glass: 未来不遥远
- 2018 ACM-ICPC 亚洲区域赛青岛站 E - Plants vs. Zombies(二分)
热门文章
- graphpad做饼图_3D 饼环图初步完成
- 以太坊 solidity 函数修饰符总结 public、private、internal、external、view、pure的区别
- LaTeX 切换其它另外的期刊会议模板
- 区块链 分片sharding 网络分片 交易分片 状态分片 是什么
- thinkphp 同时更新多条数据
- 散粉在哪个步骤用_平时用的散粉除了所谓的定妆,还有这么多好处啊?
- LeetCode----两数之和
- Java 枚举(enum)剖析
- Tomcat 下载安装,启动,停止,注册服务,开机自启
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_11-freemarker静态化测试-基于模板字符串静态化...