Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Regular Expression for datetime

0 views
Skip to first unread message

Luigi

unread,
May 12, 2008, 8:08:00 AM5/12/08
to
Hi all,
anyone knows a regular expression for this datetime format?

dd/MM/yyyy

Thanks in advance.

--
Luigi

CreativeMind

unread,
May 12, 2008, 9:03:05 AM5/12/08
to

Date dd/mm/yyyy
01/01/1900 through 31/12/2099
Matches invalid dates such as February 31st

(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]{2}
-------------------------------------
\b(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[0-9]
{2}\b

Luigi

unread,
May 12, 2008, 9:31:00 AM5/12/08
to
"CreativeMind" wrote:

> Date dd/mm/yyyy
> 01/01/1900 through 31/12/2099
> Matches invalid dates such as February 31st
>
> (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]{2}
> -------------------------------------
> \b(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[0-9]
> {2}\b

Hi,
I've tried your regular expression:

(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]{2}

\b(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[0-9]
{2}\b

but doesn't work.

L

CreativeMind

unread,
May 12, 2008, 9:47:17 AM5/12/08
to
1. (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]
{2}
try it again

Luigi

unread,
May 12, 2008, 10:33:03 AM5/12/08
to
"CreativeMind" wrote:

> 1. (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]
> {2}
> try it again

This one works:

(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]{2}

but accepts also 31/02/2008, that is not correct.

L

CreativeMind

unread,
Jun 2, 2008, 8:06:00 AM6/2/08
to
try this:
^(((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|
[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-
\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]
((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?
(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))$

Luigi

unread,
Jun 2, 2008, 10:34:02 AM6/2/08
to
"CreativeMind" wrote:

> try this:
> ^(((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|
> [2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-
> \/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]
> ((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?
> (0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))$
>

This is better ;-)
Thanks a lot.

Luigi

0 new messages