Mercurial > public > mercurial-scm > hg
comparison mercurial/util.py @ 6230:c7253d1a774e
dates: Fix bare times to be relative to "today"
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Tue, 11 Mar 2008 17:42:51 -0500 |
parents | c3182eeb70ea |
children | d036ea711140 |
comparison
equal
deleted
inserted
replaced
6229:c3182eeb70ea | 6230:c7253d1a774e |
---|---|
1584 The date may be a "unixtime offset" string or in one of the specified | 1584 The date may be a "unixtime offset" string or in one of the specified |
1585 formats. If the date already is a (unixtime, offset) tuple, it is returned. | 1585 formats. If the date already is a (unixtime, offset) tuple, it is returned. |
1586 """ | 1586 """ |
1587 if not date: | 1587 if not date: |
1588 return 0, 0 | 1588 return 0, 0 |
1589 if type(date) is type((0, 0)) and len(date) == 2: | 1589 if isinstance(date, tuple) and len(date) == 2: |
1590 return date | 1590 return date |
1591 if not formats: | 1591 if not formats: |
1592 formats = defaultdateformats | 1592 formats = defaultdateformats |
1593 date = date.strip() | 1593 date = date.strip() |
1594 try: | 1594 try: |
1600 now = makedate() | 1600 now = makedate() |
1601 for part in "d mb yY HI M S".split(): | 1601 for part in "d mb yY HI M S".split(): |
1602 if part not in defaults: | 1602 if part not in defaults: |
1603 if part[0] in "HMS": | 1603 if part[0] in "HMS": |
1604 defaults[part] = "00" | 1604 defaults[part] = "00" |
1605 elif part[0] in "dm": | |
1606 defaults[part] = "1" | |
1607 else: | 1605 else: |
1608 defaults[part] = datestr(now, "%" + part[0]) | 1606 defaults[part] = datestr(now, "%" + part[0]) |
1609 | 1607 |
1610 for format in formats: | 1608 for format in formats: |
1611 try: | 1609 try: |
1638 '>{date}' on or after a given date | 1636 '>{date}' on or after a given date |
1639 | 1637 |
1640 """ | 1638 """ |
1641 | 1639 |
1642 def lower(date): | 1640 def lower(date): |
1643 return parsedate(date, extendeddateformats)[0] | 1641 d = dict(mb="1", d="1") |
1642 return parsedate(date, extendeddateformats, d)[0] | |
1644 | 1643 |
1645 def upper(date): | 1644 def upper(date): |
1646 d = dict(mb="12", HI="23", M="59", S="59") | 1645 d = dict(mb="12", HI="23", M="59", S="59") |
1647 for days in "31 30 29".split(): | 1646 for days in "31 30 29".split(): |
1648 try: | 1647 try: |