主题:判断检查日期是否合法的C++代码源码
本篇文章属于《518抽奖软件开发日志》系列文章的一部分。
我在开发《518抽奖软件》(www.518cj.net)的时候,需要判断用户输入的日期是否合法,代码如下。
BOOL Tfuns::is_legalDate(int y, int m, int d) { if (y > 9999 || y < MIN_YEAR) return FALSE; if (m > 12 || m < 1) return FALSE; if (d > 31 || d < 1) return FALSE; if (m == 4 || m == 6 || m == 9 || m == 11) { if (d > 30) return FALSE; } else if (m == 2) { if (Tfuns::is_leapYear(y)) { if (d > 29) return FALSE; } else { if (d > 28) return FALSE; } } return TRUE; } BOOL Tfuns::is_leapYear(int year) { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) return true; return false; }