Amanda icon indicating copy to clipboard operation
Amanda copied to clipboard

date-time format pattern

Open pixelshaded opened this issue 13 years ago • 1 comments

Trying to validate the following ISO 8601 date-time:

2012-07-18T14:14Z

^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-[0-9]{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$ doesnt seem to match

I tried one here: http://underground.infovark.com/2008/07/22/iso-date-validation-regex/

^(\d{4})\D?(0[1-9]|1[0-2])\D?([12]\d|0[1-9]|3[01])(\D?([01]\d|2[0-3])\D?([0-5]\d)\D?([0-5]\d)?\D?(\d{3})?([zZ]|([+-])([01]\d|2[0-3])\D?([0-5]\d)?)?)?$

And it is able to match the date-time.

pixelshaded avatar Jul 18 '12 18:07 pixelshaded

I had a similar problem. Another post I found suggests this regex might work in terms of tolerating a long list of date-time formats that are technically 8601 compliant.

^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T\s?(\17[0-5]\d([.,]\d+)?)?([zZ]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$

source: http://www.pelagodesign.com/blog/2009/05/20/iso-8601-date-validation-that-doesnt-suck/

cew821 avatar Nov 15 '13 23:11 cew821