Linux平台下开发一个软件,要做一个检查日期和时间是否合法功能:如 20091333。

 

1.  找到关于日期合法性验证的函数,其思路及代码实现如下:

 

对日期时间进行合法性验证,通过后再设置本机日期时间。时间的合法性检查比较简单,而日期就复杂一些,需要考虑大小月,闰年。

思路是:先对年月日进行简单的范围检查,之后将其形成一个tm结构,再调用mktime将该tm转换为一个time_t,在此过程中mktime将对不合法的日期自动进行规范化,如输入为2007-6-31将被转化为2007-7-1。因此比较转换前后的年月日是否相同就能知道日期是否合法。为了便于比较,再调用localtime将time_t转化为tm进行比较。根据比较结果来验证日期是否合法。

文章出处:http://www.diybl.com/course/3_program/c++/cppsl/2008126/97446.html
本人对日期合法性的验证实现方法做了部分修改,以适应string类型的日期。

 

 

 

 

2.  自己实现的对时间进行合法性验证的函数。

     代码如下:

 

    

 

Logo

更多推荐