Trong các phần mềm bảng tính điện tử, dữ liệu ngày tháng được coi là số ngày tính từ ngày 1-1-1990

32.6. Trong các phần mềm bảng tính điện tử, dữ liệu ngày tháng được coi là số ngày tính từ ngày 1-1-1990.

Nhập thời gian theo khuôn dạng ngày - tháng - năm (ví dụ 8-10-2021). Tính giá trị của ngày này theo cách lưu trữ của phần mềm bảng tính điện tử.

Bài Làm:

Chương trình có thể viết như sau:

month = [31,28,31,30,31,30,31,31,30,31,30,31]

def nhuan(year):

       if year % 40 == 0 or (year % 4 == 0 and year%100 != 0):

            return True

      else:

            return False

def day_of_year(year):

      if nhuan(year):

            return 366

      else:

            return 365

def hople(year,m,day):

      if nhuan(year):

            month[1] = 29

      if mm < 1 or mm > 12:

            return False

      if day < 1 or day > month[mm-1]:

            return False

      return True

def day_thang(year, mm, dd ) :

      if nhuan(year):

            month[1] = 29

      D = 0

      for i in range(mm-1):

            D = D + month[i]

      D = D + dd

      return D

def day_nam(year,day):

      D = 0

      for k in range(1900,year):

           D = D + day_of_year(k)

      D = D + day

      return D

# Chương trình chính

msg = input( "Nhập ngày - tháng - năm: ")

A = msg.split("-")

dd,mm,year = int(A[0]),int(A[1]), int(A[2])

D = day_thang(year,mm, dd)

day = day_nam(year,D)

print(day)