Mercurial > hg
changeset 29638:491ee264b9f6 stable
date: accept broader range of ISO 8601 time specs
The "normal" ISO date/time includes a T between date and time. It also
allows dropping the colons and seconds from the timespec. Add new
patterns for these forms as well as tests.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 27 Jul 2016 15:22:36 -0500 |
parents | 46b2ccce7fde |
children | 6fd751fa58d3 |
files | mercurial/util.py tests/test-parse-date.t |
diffstat | 2 files changed, 36 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/util.py Wed Jul 27 15:20:34 2016 -0500 +++ b/mercurial/util.py Wed Jul 27 15:22:36 2016 -0500 @@ -440,7 +440,14 @@ # used by parsedate defaultdateformats = ( - '%Y-%m-%d %H:%M:%S', + '%Y-%m-%dT%H:%M:%S', # the 'real' ISO8601 + '%Y-%m-%dT%H:%M', # without seconds + '%Y-%m-%dT%H%M%S', # another awful but legal variant without : + '%Y-%m-%dT%H%M', # without seconds + '%Y-%m-%d %H:%M:%S', # our common legal variant + '%Y-%m-%d %H:%M', # without seconds + '%Y-%m-%d %H%M%S', # without : + '%Y-%m-%d %H%M', # without seconds '%Y-%m-%d %I:%M:%S%p', '%Y-%m-%d %H:%M', '%Y-%m-%d %I:%M%p',
--- a/tests/test-parse-date.t Wed Jul 27 15:20:34 2016 -0500 +++ b/tests/test-parse-date.t Wed Jul 27 15:22:36 2016 -0500 @@ -258,3 +258,31 @@ $ hg log -d today --template '{desc}\n' Explicitly committed now. today is a good day to code + +Test parsing various ISO8601 forms + + $ hg debugdate "2016-07-27T12:10:21" + internal: 1469646621 * (glob) + standard: Wed Jul 27 12:10:21 2016 -0700 + $ hg debugdate "2016-07-27T12:10:21Z" + internal: 1469621421 0 + standard: Wed Jul 27 12:10:21 2016 +0000 + $ hg debugdate "2016-07-27T12:10:21+00:00" + internal: 1469621421 0 + standard: Wed Jul 27 12:10:21 2016 +0000 + $ hg debugdate "2016-07-27T121021Z" + internal: 1469621421 0 + standard: Wed Jul 27 12:10:21 2016 +0000 + + $ hg debugdate "2016-07-27 12:10:21" + internal: 1469646621 * (glob) + standard: Wed Jul 27 12:10:21 2016 -0700 + $ hg debugdate "2016-07-27 12:10:21Z" + internal: 1469621421 0 + standard: Wed Jul 27 12:10:21 2016 +0000 + $ hg debugdate "2016-07-27 12:10:21+00:00" + internal: 1469621421 0 + standard: Wed Jul 27 12:10:21 2016 +0000 + $ hg debugdate "2016-07-27 121021Z" + internal: 1469621421 0 + standard: Wed Jul 27 12:10:21 2016 +0000