enh: allow time like HH:MM in date strings. (#10034)
This commit is contained in:
parent
f65a1155e1
commit
861dd06bd1
2 changed files with 8 additions and 1 deletions
|
@ -448,7 +448,8 @@ def pretty_string_to_date(date_str, now=None):
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
date_str (str): string representing a date. This string might be
|
date_str (str): string representing a date. This string might be
|
||||||
in different format (like ``YYYY``, ``YYYY-MM``, ``YYYY-MM-DD``)
|
in different format (like ``YYYY``, ``YYYY-MM``, ``YYYY-MM-DD``,
|
||||||
|
``YYYY-MM-DD HH:MM``, ``YYYY-MM-DD HH:MM:SS``)
|
||||||
or be a *pretty date* (like ``yesterday`` or ``two months ago``)
|
or be a *pretty date* (like ``yesterday`` or ``two months ago``)
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
|
@ -467,6 +468,10 @@ def pretty_string_to_date(date_str, now=None):
|
||||||
pattern[re.compile(r'^\d{4}-\d{2}-\d{2}$')] = lambda x: datetime.strptime(
|
pattern[re.compile(r'^\d{4}-\d{2}-\d{2}$')] = lambda x: datetime.strptime(
|
||||||
x, '%Y-%m-%d'
|
x, '%Y-%m-%d'
|
||||||
)
|
)
|
||||||
|
pattern[re.compile(r'^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$')] = \
|
||||||
|
lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M')
|
||||||
|
pattern[re.compile(r'^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$')] = \
|
||||||
|
lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
pretty_regex = re.compile(
|
pretty_regex = re.compile(
|
||||||
r'(a|\d+)\s*(year|month|week|day|hour|minute|second)s?\s*ago')
|
r'(a|\d+)\s*(year|month|week|day|hour|minute|second)s?\s*ago')
|
||||||
|
|
|
@ -82,6 +82,8 @@ def test_pretty_string_to_date_delta(now, delta, pretty_string):
|
||||||
('%Y', '2018'),
|
('%Y', '2018'),
|
||||||
('%Y-%m', '2015-03'),
|
('%Y-%m', '2015-03'),
|
||||||
('%Y-%m-%d', '2015-03-28'),
|
('%Y-%m-%d', '2015-03-28'),
|
||||||
|
('%Y-%m-%d %H:%M', '2015-03-28 11:12'),
|
||||||
|
('%Y-%m-%d %H:%M:%S', '2015-03-28 23:34:45'),
|
||||||
])
|
])
|
||||||
def test_pretty_string_to_date(format, pretty_string):
|
def test_pretty_string_to_date(format, pretty_string):
|
||||||
t1 = datetime.strptime(pretty_string, format)
|
t1 = datetime.strptime(pretty_string, format)
|
||||||
|
|
Loading…
Reference in a new issue