misc: fix display of hour/minute/seconds of datetime objects (#20108)

This commit is contained in:
Frédéric Péters 2017-11-19 13:10:13 +04:00
parent 33ec0a9315
commit 25878fad06
2 changed files with 9 additions and 4 deletions

View File

@ -29,3 +29,7 @@ def test():
raise AssertionError(str(testdate))
prevday = day
testdate = testdate + one_day
def test_types():
assert strftime('%Y-%m-%d %H:%M:%S', datetime.datetime(2017, 11, 19, 13, 8, 0).timetuple()) == '2017-11-19 13:08:00'
assert strftime('%Y-%m-%d %H:%M:%S', datetime.datetime(2017, 11, 19, 13, 8, 0)) == '2017-11-19 13:08:00'

View File

@ -168,11 +168,12 @@ def get_datetime_language():
def strftime(fmt, dt):
if not dt:
return ''
if isinstance(dt, datetime.date):
dt = datetime.datetime(dt.year, dt.month, dt.day)
if not isinstance(dt, datetime.datetime):
# consider it a 9 elements tuple
dt = datetime.datetime(*dt[:6])
if isinstance(dt, datetime.date):
dt = datetime.datetime(dt.year, dt.month, dt.day)
else:
# consider it a 9 elements tuple
dt = datetime.datetime(*dt[:6])
return datetime_safe.strftime(dt, fmt)
def localstrftime(t):