プログラミング言語(例えば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
なぜ2つに分割しないのですか? –
あなたはどの言語を使用していますか?番号の比較は、RegExの中で一番良い方法です。 – FakeRainBrigand
@FakeRainBrigand私はjavascript(maskedinput.js)を使用しています[ページを表示するにはここをクリック] – Steve