Show More
@@ -18,6 +18,8 b' Many date formats are valid. Here are so' | |||||
18 | - ``12-6`` |
|
18 | - ``12-6`` | |
19 | - ``12/6`` |
|
19 | - ``12/6`` | |
20 | - ``12/6/6`` (Dec 6 2006) |
|
20 | - ``12/6/6`` (Dec 6 2006) | |
|
21 | - ``today`` (midnight) | |||
|
22 | - ``yesterday`` (midnight) | |||
21 |
|
23 | |||
22 | Lastly, there is Mercurial's internal format: |
|
24 | Lastly, there is Mercurial's internal format: | |
23 |
|
25 |
@@ -1027,6 +1027,14 b' def parsedate(date, formats=None, bias={' | |||||
1027 |
|
1027 | |||
1028 | The date may be a "unixtime offset" string or in one of the specified |
|
1028 | The date may be a "unixtime offset" string or in one of the specified | |
1029 | formats. If the date already is a (unixtime, offset) tuple, it is returned. |
|
1029 | formats. If the date already is a (unixtime, offset) tuple, it is returned. | |
|
1030 | ||||
|
1031 | >>> parsedate(' today ') == parsedate(\ | |||
|
1032 | datetime.date.today().strftime('%b %d')) | |||
|
1033 | True | |||
|
1034 | >>> parsedate( 'yesterday ') == parsedate((datetime.date.today() -\ | |||
|
1035 | datetime.timedelta(days=1)\ | |||
|
1036 | ).strftime('%b %d')) | |||
|
1037 | True | |||
1030 | """ |
|
1038 | """ | |
1031 | if not date: |
|
1039 | if not date: | |
1032 | return 0, 0 |
|
1040 | return 0, 0 | |
@@ -1035,6 +1043,13 b' def parsedate(date, formats=None, bias={' | |||||
1035 | if not formats: |
|
1043 | if not formats: | |
1036 | formats = defaultdateformats |
|
1044 | formats = defaultdateformats | |
1037 | date = date.strip() |
|
1045 | date = date.strip() | |
|
1046 | ||||
|
1047 | if date == _('today'): | |||
|
1048 | date = datetime.date.today().strftime('%b %d') | |||
|
1049 | elif date == _('yesterday'): | |||
|
1050 | date = (datetime.date.today() - | |||
|
1051 | datetime.timedelta(days=1)).strftime('%b %d') | |||
|
1052 | ||||
1038 | try: |
|
1053 | try: | |
1039 | when, offset = map(int, date.split(' ')) |
|
1054 | when, offset = map(int, date.split(' ')) | |
1040 | except ValueError: |
|
1055 | except ValueError: |
@@ -234,3 +234,20 b" Test date formats with '>' or '<' accomp" | |||||
234 | Sat Apr 15 13:30:00 2006 +0000 |
|
234 | Sat Apr 15 13:30:00 2006 +0000 | |
235 | Wed Feb 01 13:00:30 2006 -0500 |
|
235 | Wed Feb 01 13:00:30 2006 -0500 | |
236 | Wed Feb 01 13:00:30 2006 +0000 |
|
236 | Wed Feb 01 13:00:30 2006 +0000 | |
|
237 | ||||
|
238 | Test issue 3764 (interpreting 'today' and 'yesterday') | |||
|
239 | $ echo "hello" >> a | |||
|
240 | >>> import datetime | |||
|
241 | >>> today = datetime.date.today().strftime("%b %d") | |||
|
242 | >>> yesterday = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%b %d") | |||
|
243 | >>> dates = open('dates', 'w') | |||
|
244 | >>> dates.write(today + '\n') | |||
|
245 | >>> dates.write(yesterday) | |||
|
246 | >>> dates.close() | |||
|
247 | $ hg ci -d "`sed -n '1p' dates`" -m "today is a good day to code" | |||
|
248 | $ hg log -d today --template '{desc}\n' | |||
|
249 | today is a good day to code | |||
|
250 | $ echo "goodbye" >> a | |||
|
251 | $ hg ci -d "`sed -n '2p' dates`" -m "the time traveler's code" | |||
|
252 | $ hg log -d yesterday --template '{desc}\n' | |||
|
253 | the time traveler's code |
General Comments 0
You need to be logged in to leave comments.
Login now