from tkinter import *
root = Tk()
root.geometry("500x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Data Válida")
titulo = Label(text="Data Válida",
font=("Arial", "30", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.3, rely=0.05)
texto_sub1 = Label(text="Digite uma data no formato dd/mm/aaaa",
font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.25)
data_entrada = Entry(
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
data_entrada.place(relx=0.33, rely=0.4, relwidth=0.4)
data_entrada.focus()
def limpar():
data_entrada.delete(0,END)
resultado.set("")
def app():
data =data_entrada.get()
if "/" not in data:
resultado.set("Formato de data inválido!")
return
dia, mes, ano = data.split("/")
dia, mes, ano = int(dia), int(mes), int(ano)
if ano < 0:
mensagem="Ano inválido!"
else:
if mes < 1 or mes > 12:
print("Mês inválido!")
elif mes in [1, 3, 5, 7, 8, 10, 12]:
if dia > 0 and dia < 32:
mensagem="Data válida!"
else:
mensagem="Dia inválido!"
elif mes in [4, 6, 9, 11]:
if dia > 0 and dia < 31:
mensagem="Data válida!"
else:
mensagem="Dia inválido!"
else:
if ano % 4 == 0:
if dia > 0 and dia < 30:
mensagem="Data válida!"
else:
mensagem="Dia inválido!"
else:
if dia > 0 and dia < 29:
mensagem="Data válida!"
else:
mensagem="Dia inválido!"
resultado.set(mensagem)
but1 = Button(text="Verificar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.6, relwidth=0.25, relheight=0.1)
but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.4, rely=0.6, relwidth=0.25, relheight=0.1)
but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.7, rely=0.6, relwidth=0.25, relheight=0.1)
resultado = StringVar()
resultado_texto = Label(textvariable=resultado,
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15)
root.mainloop()