Skip to content

Instantly share code, notes, and snippets.

@PushkraJ99
Created June 5, 2022 15:14
Show Gist options
  • Save PushkraJ99/2e883fda33934d222ffccbac2ad749a6 to your computer and use it in GitHub Desktop.
Save PushkraJ99/2e883fda33934d222ffccbac2ad749a6 to your computer and use it in GitHub Desktop.
Age Calculator Python Project
#Age-Calculator-Project (Github:-PushkraJ99)
from tkinter import *
from datetime import date
win = Tk()
win.title("AGE-CALCULATOR") #Title
win.configure(bg="#4F4F4F") #Backround color
win.geometry("400x400") #Size of the window
new = Label(win,bg="#4F4F4F")
new.grid(row=5,column=0,columnspan=3)
today=str(date.today()) #Current date using datetime module
list_today=today.split("-") #Converting into a list
#Defining Calcutate age
def age(b_date,b_month,b_year):
global today
global new
new.grid_forget()
b_date = int(dayEntry.get())
b_month = int(monthEntry.get())
b_year = int(yearEntry.get())
c_date = int(list_today[2])
c_month = int(list_today[1])
c_year = int(list_today[0])
month =[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if(b_date>c_date):
c_month=c_month-1
c_date=c_date+month[b_month-1]
if (b_month>c_month):
c_year=c_year-1
c_month=c_month+12
d_result = str(c_date-b_date)
m_result = str(c_month-b_month)
y_result = str(c_year-b_year)
y_name = nameEntry.get()
output = Label(win,text=y_name+" YOUR AGE \n"+y_result+" YEARS "+m_result+" MONTHS "+ d_result+" DAYS ",fg="#FFFFFF",bg="#4F4F4F",borderwidth=6)
output.config(font=("Arial Rounded MT Bold",15))
output.grid(row=7,column=0,columnspan=3)
#Defining Clear
def clean(nameEntry,dayEntry,monthEntry,yearEntry):
global new
new.grid_forget()
nameEntry.delete(0,END)
dayEntry.delete(0,END)
monthEntry.delete(0,END)
yearEntry.delete(0,END)
#Creating Widgets Labels
title_label = Label(win,text="AGE CALCULATOR",borderwidth=10,fg="#FFFFFF",bg="#4F4F4F")
title_label.config(font=("Poppins",29,"bold "))
title_label.grid(row=0,column=0,columnspan=3)
name_label = Label(win,text="YOUR NAME : ",borderwidth=4,fg="#03DDFF",bg="#4F4F4F")
name_label.config(font=("Arial Rounded MT Bold",15))
name_label.grid(row=1,column=0)
date_label = Label(win,text="BIRTH DATE : ",borderwidth=4,fg="#57FF03",bg="#4F4F4F")
date_label.config(font=("Arial Rounded MT Bold",15))
date_label.grid(row=2,column=0)
month_label = Label(win,text="BIRTH MONTH : ",borderwidth=5,fg="#57FF03",bg="#4F4F4F")
month_label.config(font=("Arial Rounded MT Bold",15))
month_label.grid(row=3,column=0)
year_label = Label(win,text="BIRTH YEAR : ",borderwidth=9,fg="#57FF03",bg="#4F4F4F")
year_label.config(font=("Arial Rounded MT Bold",15))
year_label.grid(row=4,column=0)
nameEntry = Entry(width=20,borderwidth=3)
dayEntry = Entry(width=20,borderwidth=3)
monthEntry = Entry(width=20,borderwidth=3)
yearEntry = Entry(width=20,borderwidth=3)
nameEntry.grid(row=1,column=2)
dayEntry.grid(row=2,column=2)
monthEntry.grid(row=3,column=2)
yearEntry.grid(row=4,column=2)
#Getting Value in the Entry Boxes
b_date = dayEntry.get()
b_month = monthEntry.get()
b_year = yearEntry.get()
#Calling Age Function in button widget
submit=Button(win,text="GET AGE !!",width=10,anchor=CENTER,command=lambda:age(b_date,b_month,b_year),bg="#6600CC",fg="#FFFFFF",borderwidth=5)
submit.grid(row=5,column=0)
#Calling Clean Function in button widget
clear=Button(win,text="CLEAR",width=10,command=lambda:clean(nameEntry,dayEntry,monthEntry,yearEntry),bg="#6600CC",fg="#FFFFFF",borderwidth=5)
clear.grid(row=5,column=2)
win.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment