人気ブログランキング | 話題のタグを見る
閏年の判定のアルゴリズム
閏年は、4で割り切れ、100で割り切れるものを抜かし、それでも400で割り切れるものは含めたもの。コードにすると、以下の通り。

bool bLeap = (nYear%4==0) && ((nYear%100!=0) || (nYear%400==0))

ちなみに、その月の最大の日にちは、以下のように求められる。

int nYear = 2004; // 年を入れる
int nMonth = 5; // 月を入れる

bool bLeap = (nYear%4==0) && ((nYear%100!=0) || (nYear%400==0))
int maxDay;
switch(nMonth)
{
case 2:
maxDay = bLeap ? 29 : 28;
break;
case 4:
case 6:
case 9:
case 11:
maxDay = 30;
break;
default:
maxDay = 31;
}
ソニーストア

by isoq | 2004-06-28 20:11 | 開発日記
<< きびしー Windows2003サーバー... >>