我想有一个程序要求有效日期,如05.04.2018或5。4。2018(2018年4月5日)。我试着编写第一个版本来检查日期是否格式为05.04.2018。为什么这种方法会返回AttributeError 以及如何解决它?
# -*- coding: UTF-8 -*-
#!/usr/bin/python
from datetime import datetime
def validate_date():
try:
date = input("Give the date of the form DD.MM.YYYY: ")
valid_date = date.strptime(date, '%d.%m.%Y')
except ValueError:
raise ValueError("The date must be of the form DD.MM.YYYY")
except SyntaxError:
raise SyntaxError("Wrong syntax")
if __name__ == "__main__":
alkuaika = validate_date()
输出
Give the date of the form DD.MM.YYYY: 12.12.20128
Traceback (most recent call last):
File "koe.py", line 15, in <module>
alkuaika = validate_date()
File "koe.py", line 8, in validate_date
valid_date = date.strptime(date, '%d.%m.%Y')
AttributeError: 'str' object has no attribute 'strptime'
答案 0 :(得分:0)
当你使用input()函数时,你必须用引号发送数据,“05.09.1990”将起作用,但是05.09.1990将无效,这会在解析时抛出“意外的EOF”错误,并且由偶数如果通过引号发送,则字符串数据类型不具有strptime方法。