Regular Expressions 101

Community Patterns

ISO8601 DateTime

1

Regular Expression
PCRE (PHP <7.3)

/
^\d{4}-(0\d|1[0-2])-([0-2]\d|3[0-2])(T(([01]\d|2[0-4]):([0-5]\d)(:[0-5]\d([\.,]\d+)?)?|([01]\d|2[0-4])(:[0-5]\d([\.,]\d+)?)?|([01]\d|2[0-4])([\.,]\d+)?))?([+-]\d\d(:[0-5]\d)?|Z)?$
/

Description

Matches an ISO8601 date time string, including fractional time. Does not exclude non-existent times (such as the 29th february in non-leap-years)

Submitted by Tobias Marstaller - 8 years ago