設計乙個日期的類,這個類包含年、月、日三個屬性,通過輸入設定當前的年、月、日。
同時,這個類還有一些靜態方法,比如,獲取今天的日期,
明天的日期,下週(七天後)的日期,上週(七天前)的日期。
另外,日期要按照「2023年10月23日」這種格式列印輸出。
def
tianshu
(nian, yue, ri, change)
: yue_ri =[0
,31,28
,31,30
,31,30
,31,31
,30,31
,30,31
]
sumday =
0 sumday =
sum(yue_ri[
:(yue)])
+ ri
sumday += change
if nian %4==
0and yue >2:
if nian %
100!=0:
sumday = sumday +
1if nian %
100==
0and nian %
400==0:
sumday = sumday +
1for i,item in
enumerate
(yue_ri):if
sum(yue_ri[
:i])
< sumday and
sum(yue_ri[
:i+1])
> sumday :
if nian %4==
0and yue >2:
if nian %
100!=0:
sumday = sumday -
1if nian %
100==
0and nian %
400==0:
sumday = sumday -
1
yue = i
ri = sumday -
sum(yue_ri[
:i])
return nian, yue, ri
class
riqi()
:def
__init__
(self, nian, yue, ri, renyi)
: self.nian = nian
self.yue = yue
self.ri = ri
self.renyi = renyi
deftoday
(self)
:print
(f"年月日"
)def
nextday
(self)
: nian, yue, ri = tianshu(self.nian, self.yue, self.ri,1)
print
(f"年月日"
)def
lastday
(self)
: nian, yue, ri = tianshu(self.nian, self.yue, self.ri,-1
)print
(f"年月日"
)
@staticmethod
deflastsevendays
(nian, yue, ri)
: nian, yue, ri = tianshu(nian, yue, ri,-7
)print
(f"年月日"
)
@staticmethod
defnextsevendays
(nian, yue, ri)
: nian, yue, ri = tianshu(nian, yue, ri,7)
print
(f"年月日"
)def
zidingyi
(self, nian, yue, ri, renyi)
: nian, yue, ri = tianshu(nian, yue, ri, renyi)
print
(f"年月日"
)d1 = riqi(
2020,8
,4,-
10)
d1.today(
)d1.nextday(
)d1.lastday(
)d1.lastsevendays(
2020,8
,4)d1.nextsevendays(
2020,8
,4)d1.zidingyi(
2020,8
,4,-
10)
日期類函式(計算日期)
includeusing namespace std int runnian int year 判斷該年是否是閏年 int riqi int month,int year 因為每個月的的天數不一樣,所以用乙個函式進行判斷 else day 30 else return day class date ...
日期類 日期計算器
想要完成日期計算器其實只要考慮完成兩個工作就可以了 實現第乙個工作時,如果是減去乙個天數,例如 給定2017 7 10 與減去乙個天數不同的加乙個天數 即多少天以後 需要向當前月份的下乙個月借天數減去目標天數來滿足年月日合法。加減乙個目標天數的實現思路個方法是一樣的。個中細節請參考 中的注釋。實現第...
日期類 日期計算器
date.h pragma once include using namespace std class date operator inline bool operator const date d const else if year d.year else if month d.month r...