程序设计语言(如java
,C#
,python
等)具有date/time/datetime
类型。
date
可以通过构造函数创建,如果您提供有效的参数。
如果不是,它将产品exception
可以捕获(通常try...catch
声明)。
使用regex
很难验证29/2/2012
和29/2/2013
。
但在date
语言类型的帮助下很容易。
$ python
>>> import time
>>> time.strptime('29/2/2012', '%d/%m/%Y')
time.struct_time(tm_year=2012, tm_mon=2, tm_mday=29, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=60, tm_isdst=-1)
>>> time.strptime('29/2/2013', '%d/%m/%Y')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.2/_strptime.py", line 482, in _strptime_time
tt = _strptime(data_string, format)[0]
File "/usr/lib/python3.2/_strptime.py", line 459, in _strptime
datetime_date(year, 1, 1).toordinal() + 1
ValueError: day is out of range for month
来源
2011-12-17 16:20:14
kev
为什么不把两者分开? – 2011-12-17 15:04:12
你在用什么语言?数字比较是RegEx最好的选择。 – FakeRainBrigand 2011-12-17 15:07:43
@FakeRainBrigand我正在使用javascript(maskedinput.js)[点击此处查看页面](http://digitalbush.com/projects/masked-input-plugin/) – Steve 2011-12-17 15:09:07