Merge pull request #661 from mozilla/improve_toutc_function

Improve toutc function to handle negative values
This commit is contained in:
A Smith 2018-04-10 17:06:29 -05:00 коммит произвёл GitHub
Родитель ee9ad5c3c5 f038593181
Коммит 18504dca50
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 15 добавлений и 1 удалений

Просмотреть файл

@ -25,7 +25,11 @@ def toUTC(suspectedDate):
epochDivisor = int(str(1) + '0'*(len(str(suspectedDate)) % 10))
objDate = datetime.fromtimestamp(float(suspectedDate/epochDivisor), LOCAL_TIMEZONE)
elif type(suspectedDate) in (str, unicode):
objDate = parse(suspectedDate, fuzzy=True)
if suspectedDate[0] == '-':
# Negative number, so let's pick a date for them
objDate = datetime(1970, 1, 1)
else:
objDate = parse(suspectedDate, fuzzy=True)
try:
if objDate.tzinfo is None:
objDate=LOCAL_TIMEZONE.localize(objDate)

Просмотреть файл

@ -89,3 +89,13 @@ class TestToUTC():
result = toUTC(1.468443523e+11)
self.result_is_datetime(result)
assert str(result) == '2016-07-13 20:58:43+00:00'
def test_negative_string_float(self):
result = toUTC("-86400.000000")
self.result_is_datetime(result)
assert str(result) == '1970-01-01 00:00:00+00:00'
def test_negative_string_int(self):
result = toUTC("-12345")
self.result_is_datetime(result)
assert str(result) == '1970-01-01 00:00:00+00:00'