校驗日期有效性扩淀,除了在代碼中內(nèi)置日歷數(shù)據(jù)楔敌,還可以利用以下方法進行判斷,而且代碼更簡潔驻谆。經(jīng)過測試卵凑,在本地虛擬機執(zhí)行100W次循環(huán)判斷庆聘,只需要4秒,執(zhí)行效率杠杠的勺卢。
struct tm ltm = {0};
char buf[] = "2011-02-31";
puts(buf);
strptime(buf, "%Y-%m-%d", <m);
mktime(<m);
strftime(buf, sizeof(buf), "%Y-%m-%d", <m);
puts(buf);
輸入和輸出的內(nèi)容如下:
2011-02-31
2011-03-03
通過字符串比較伙判,如果不一致則表示不是有效日期。
我是咕咕雞黑忱,一個還在不停學習的全棧工程師宴抚。
熱愛生活,喜歡跑步甫煞,家庭是我不斷向前進步的動力菇曲。