Я пытаюсь проверить строку, которая должна содержать временную метку в формате ISO 8601 (обычно используется в JSON).
Python strptime
кажется очень прощающим, когда дело доходит до проверки нулевого заполнения, см. пример кода ниже (обратите внимание, что в часе отсутствует нулевой уровень):
>>> import datetime
>>> s = '1985-08-23T3:00:00.000'
>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.%f')
datetime.datetime(1985, 8, 23, 3, 0)
Он грациозно принимает строку, которая, например, не заполняется нулями в течение часа, и не генерирует исключение ValueError
, как я ожидал.
Есть ли способ принудительно использовать strptime для проверки того, что он заполнен нулями? Или есть ли какая-либо другая встроенная функция в стандартных libs Python, которая делает?
Я бы не хотел писать свой собственный regexp
для этого.