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ử.
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)
Bình luận