comparison mercurial/util.py @ 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 4d23cd6e2219
comparison
equal deleted inserted replaced
29637:46b2ccce7fde 29638:491ee264b9f6
438 if n == 4: 438 if n == 4:
439 return (vints[0], vints[1], vints[2], extra) 439 return (vints[0], vints[1], vints[2], extra)
440 440
441 # used by parsedate 441 # used by parsedate
442 defaultdateformats = ( 442 defaultdateformats = (
443 '%Y-%m-%d %H:%M:%S', 443 '%Y-%m-%dT%H:%M:%S', # the 'real' ISO8601
444 '%Y-%m-%dT%H:%M', # without seconds
445 '%Y-%m-%dT%H%M%S', # another awful but legal variant without :
446 '%Y-%m-%dT%H%M', # without seconds
447 '%Y-%m-%d %H:%M:%S', # our common legal variant
448 '%Y-%m-%d %H:%M', # without seconds
449 '%Y-%m-%d %H%M%S', # without :
450 '%Y-%m-%d %H%M', # without seconds
444 '%Y-%m-%d %I:%M:%S%p', 451 '%Y-%m-%d %I:%M:%S%p',
445 '%Y-%m-%d %H:%M', 452 '%Y-%m-%d %H:%M',
446 '%Y-%m-%d %I:%M%p', 453 '%Y-%m-%d %I:%M%p',
447 '%Y-%m-%d', 454 '%Y-%m-%d',
448 '%m-%d', 455 '%m-%d',