我的目標是將日期的天數添加到日期並返回正確的日期。具有日期功能的邏輯
我有用戶輸入日期(dd,mm,yyyy)以及他們希望進入未來的天數(天)。
你能幫助我改進邏輯
我的輸出結果是,如果我輸入一個日期如:18/10/2014和新增100天,我得到的日期118/10/2014這顯然是不正確的。
void dateafter(int *pd, int *pm, int *py, int *pdtm, int *pdty, int *days){
while(*days >= 0){
if(*days > *pdty){
*py += 1;
daymonthyear(*pm, *py, *pdtm, *pdty);
*days -= *pdty;
}
if(*days > *pdtm - *pd){
*pm = *pm + 1;
if(*pm > 12){
*pm = 1;
*py = *py + 1;
}
daymonthyear(*pm,*py,*pdtm,*pdty);
*days -= *pdtm;
}
else{
*pd += *days;
break;
}
}
}
pdtm指天,本月和pdty指pdty 日月年佔用計算,每月和每年的天數。
謝謝
如果你知道這是「顯然不正確」,那麼你也應該知道*爲什麼*它是不正確的。 – usr2564301 2014-10-18 10:55:51
轉換爲從基準日起的天數。通過添加天數來重新轉換爲日期。 – BLUEPIXY 2014-10-18 11:47:08