要考慮到年是否有閏年,月是否大小月,二月是否有29天,日期30或31天
光這些判斷式,寫完都睡著了@@
以下是在網路上查到的方式,用C#來寫
他的公式如下:
N=1461 * f(年, 月) ÷ 4 + 153 * g(月) ÷ 5 +日
其中:
f(年, 月) = 年-1 如果月<=2
=年 其他情況
g(月) =月+13 如果月<=2
=月+1 其他情況
(對於1900/3/1以後上式都成立)
看完這個公式還不太瞭解的話,請往下再看
===========================================================================
//checksum=20081022125525(年月日時分秒) public string cal(int checksum) { int temp; int day1 = checksum % 100; temp = checksum / 100; int month1 = temp % 100; int year1 = temp / 100; //以上是將checksum的日期分離出來 DateTime dt = DateTime.Now; int day2 = dt.Day; int month2 = dt.Month; int year2 = dt.Year; //以上是取得當下系統時間 if (month1 <= 2) { year1 = year1 - 1; month1 = month1 + 13; } else { month1 = month1 + 1; } if (month2 <= 2) { year2 = year2 - 1; month2 = month2 + 13; } else { month2 = month2 + 1; } //以上為年月的判斷式,為了實現下面的公式的前置工作 int N1 = 1461 * year1 / 4 + 153 * month1 / 5 + day1; int N2 = 1461 * year2 / 4 + 153 * month2 / 5 + day2; int daycount = N2 - N1; //daycount就是相差的天數哩!! return daycount.ToString(); }
=========================================================================
那個
回覆刪除很久之前很多關的那個遊戲
我破到第六關啦 ~~~
厲害吧厲害吧 XD
不過第六關又卡關了 = =