日期格式python

时间:2020-01-15 21:05:32

标签: python

我是编程新手,正在编写一个程序,其中用户以DD / MM / YYYY格式给我输入日期,但是如果用户以DD.MM.YYYY格式写出日期,我出现一个错误“没有足够的值要解压(期望3,得到1)”,因为我用“ /”分割了输入字符串。我的问题是:如果用户以错误的格式写入日期,如何给出错误消息并再次要求输入?

例如:

Data1= input("Which date (DD/MM/YYYY)?\n")
day,month,year= Data1.split('/')
isValidDate= True
try :
    datetime.datetime(int(year),int(month),int(day))
except ValueError :
    isValidDate = False
if(isValidDate) :                                        
    A1=function(username, Data1)
    print ("Good",A1,".")
else :
    print ("Incorrect. New date, please (format DD/MM/YYYY)")

3 个答案:

答案 0 :(得分:0)

使用以下断言条件,它将退出程序。

date = input('your date :')

assert('.' in date, " Please use format MM/DD/YY")

答案 1 :(得分:0)

您可以简单地执行以下操作。

container2

输出:

while True:
    i = input("enter date")
    if i.__contains__("."):
        print("re-enter date with format YY/MM/DD ")
    else:
        print("\ndo something with Date: ", i)
        break

根据您的示例,您可以将代码重构为某种形式:

enter date 2020.03.02
re-enter date with format YY/MM/DD 
enter date 2020/03/02

do something with Date:  2020/03/02

答案 2 :(得分:0)

我有此复制并粘贴到我使用日期输入所做的任何事情中

while True:
    user_date = input('please input date DD/MM/YYY:')
    if re.search(r'[0-3][0-9]/[0-1][0-9]/20[0-9]{2}', user_date):
        break
    else:
        continue

您必须

import re
相关问题