Простой способ проверки даты независимо от ее формата

#python

#python

Вопрос:

Я определяю новую функцию

 from dateutil.parser import parse as dateparse

def validate(timestamp):
    if (timestampe is a true timestamp of proper year, month, day): 
        print("Yes it is correct format")
    else: 
        print("No. It is not in proper format")

#Example:
day1 = dateparse('2018-01-01')
print(type(day1))
>> <class 'datetime.datetime'>
day2 = '2018-10-7'
print(type(day2))
>> <class 'str'>
# Now above function should predict above results
validate(day1)
>> Yes it is correct format
validate(day2)
>> No. It is not in proper format
  

Каким должно быть содержимое моей вышеописанной функции validate для достижения вышеуказанного?

Ответ №1:

Вам не нужен dateparse, потому что он пытается угадать формат, он не применяет определенный формат.

Вместо этого вы хотите использовать datetime.strptime более строгий шаблон. Кроме того, вместо if / else ветви следует использовать try / except ветвь вокруг strptime вызова.

Вы можете определить правильный формат для использования в качестве шаблона, strptime прочитав коды здесь.

Комментарии:

1. Спасибо за решение. Пожалуйста, было бы здорово, если бы вы рассказали мне, как использовать этот код, потому что я новичок в python. Я не знаю, как их использовать.