首页 > 解决方案 > python中的Dateetry tkinter日期格式错误

问题描述

我在使用日期条目输入日期时遇到问题,当我输入 1999 或更早时,它显示 2000 年以后,例如,当我输入January 10, 1997时,它返回10/01/2097。怎么解决这个问题,请帮帮我,非常感谢

dayOfbirh = StringVar()
c_birth = '%m-%d-%y'
label7 = Label(frame,textvariable=dayOfbirh)
dayOfbirh.set("DayOfBirth")
label7.place(x =0 ,y =180)
ent7 = DateEntry(frame,textvariable=c_birth,background="blue",foreground="white",borderwidth = 2,width=37)
ent7.place(x =70 ,y =180)

标签: pythontkinter

解决方案


您可以使用date_pattern. 它是内置参数DateEntry,您可以将日期模式指定为c_birth = 'm/d/y'.

请检查片段

import tkinter as tk
from tkcalendar import DateEntry
from tkinter import *
frame = tk.Tk()

def getdt(arg=None): 
    result = ent7.get()
    label7.config(text=result)
    ent7.delete(0,END)
    
c_birth = 'm/d/y'
ent7=DateEntry(frame, date_pattern=c_birth)
ent7.pack()
label7 = Label(frame,text=" ")
label7.pack()
btn = Button(frame, text= "Enter", command=getdt)
btn.pack()
frame.mainloop()

有关date_pattern您的更多详细信息,请参阅tkCalendar第 10 页


推荐阅读