int months[]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
bool check(int date)
{
int year=date/10000;
int month=date%10000/100;
int day=date%100;
if(!month||month>12||!day)return false;
if(month!=2&&day>months[month])return false;
if(month==2)
{
/**判断润年的条件
1.能整除4且不能整除100
2.能整除400
*/
bool leap = year % 4 == 0 && year % 100
|| year % 400 == 0;//润年二月29天,平年二月28天
if(day>28+leap)return false;
}
return true;
}
判断一个日期是否合法
最新推荐文章于 2024-06-19 10:03:42 发布