C语言日期有效性判断

校验日期有效性,除了在代码中内置日历数据,还可以利用以下方法进行判断,而且代码更简洁。经过测试,在本地虚拟机执行100W次循环判断,只需要4秒,执行效率杠杠的。

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);

输入和输出的内容如下:

2011-02-31 
2011-03-03

通过字符串比较,如果不一致则表示不是有效日期。

我是咕咕鸡,一个还在不停学习的全栈工程师。
热爱生活,喜欢跑步,家庭是我不断向前进步的动力。

你可能感兴趣的:(C语言日期有效性判断)