Смещение часового пояса в отметке времени должно быть в диапазоне от -12 до +14 часов. Иначе это бессмысленно. Я работаю с полем строк временных меток в объявлении pandas dataframe, некоторые из моих временных меток бессмысленны из-за того, что смещение выходит за пределы этой границы -12 + 14 часов.
Хорошая временная метка:
good = '2019-11-11T07:08:09.640-4:00'
Неверное смещение часового пояса
bad = '2019-11-19T22:51:34.619000+17:00'
Еще одно неверное смещение часового пояса:
bad2 = '2019-11-11T07:08:09.640-31:00'
Теперь, если я попытаюсь преобразовать эти строки в изоформат:
Работает как положено:
import dateutil
dateutil.parser.parse(good).isoformat()
'2019-11-11T07:08:09.640000-04:00'
Не работает должным образом, возвращает метку времени:
dateutil.parser.parse(bad).isoformat()
'2019-11-19T22:51:34.619000+17:00'
Работает, как и ожидалось, я получаю сообщение об ошибке (которое я мог бы впоследствии использовать в блоке if else, try, catch)
dateutil.parser.parse(bad2).isoformat()
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: offset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24).
Почему я получаю сообщение об ошибке на bad2 и неплохо, когда они оба имеют смещение часового пояса за пределами границ