38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
from datetime import datetime
|
|
|
|
|
|
def validate(date_text: str):
|
|
if not isinstance(date_text, str):
|
|
return date_text
|
|
ret = date_text
|
|
for form in ["%d-%m-%Y", "%d/%m/%Y", "%m/%Y", "%m-%Y"]:
|
|
try:
|
|
ret_form = '%d.%m.%Y'
|
|
if '%d' not in form:
|
|
ret_form = ret_form.replace('%d.', '')
|
|
ret = datetime.strptime(date_text, form).strftime(ret_form)
|
|
except ValueError as err:
|
|
pass
|
|
return ret
|
|
|
|
# def validate(date_text: str, return_format='%d.%m.%Y'):
|
|
# try:
|
|
# data = parse(date_text, dayfirst=True, )
|
|
# print(data.day)
|
|
# return data.strftime(return_format)
|
|
# except ValueError as err:
|
|
# print("Incorrect data format", err)
|
|
# return date_text
|
|
|
|
|
|
if __name__ == '__main__':
|
|
print(validate('2003-12-23'))
|
|
# print(validate('2003-12-32'))
|
|
print(validate('2003-12-23'))
|
|
# print(parse('2003-12-32'))
|
|
print(validate('23-12-2003'))
|
|
print(validate('23/12/2003'))
|
|
print(validate('12/23/2003'))
|
|
print(validate('05/04/2003'))
|
|
print(validate('04/2003'))
|