calendar.py

Created by vef03715

Created on February 01, 2021

691 Bytes


def jd(m,d,y):
  if m<3:
    y-=1
    m+=12
  a=int(y/100)
  b=2-a+int(a/4)
  e=int(365.25*(y+4716))
  f=int(30.6001*(m+1))
  return b+d+e+f-1524.5

def calendar():
  m=int(input("Month (1-12): "))
  y=int(input("Year (1582-4000): "))
  d1=int(jd(m,1,y))
  dw=(d1+2)%7
  m2=m+1 if m<12 else 1
  y2=y if m<12 else y+1
  d2=int(jd(m2,1,y2))
  dm=d2-d1
  mo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
  n=0
  sp=" "
  s='\n'*5
  s+=sp*2+mo[m-1]+sp+str(y)+"\n\n"
  s+="  Su  Mo  Tu  We  Th  Fr  Sa"
  s+="\n"+sp*4*dw
  while n<dm:
    n+=1
    dw+=1
    t=sp*3 if n<10 else sp*2
    s+=t+str(n)
    if dw%7==0:
      s+="\n"
  s+="\n"
  print(s)