/// <summary>
/// 返回每月一號是周幾
/// </summary>
/// <param name="y"></param>
/// <param name="m"></param>
/// <param name="d"></param>
/// <returns></returns>
public static int CaculateWeekDay(int y, int m, int d)
{
if (m == 1)
{
m = 13;
y = y - 1;
}
if (m == 2)
{
m = 14;
y = y - 1;
}
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
return week;
//返回值定義如下
// case 0: weekstr = "星期一"; break;
// case 1: weekstr = "星期二"; break;
// case 2: weekstr = "星期三"; break;
// case 3: weekstr = "星期四"; break;
// case 4: weekstr = "星期五"; break;
// case 5: weekstr = "星期六"; break;
// case 6: weekstr = "星期日"; break;
}
/// <summary>
/// 根據年,月取得本月天數
/// </summary>
/// <param name="month"></param>
/// <param name="year"></param>
/// <returns></returns>
public static int NumberOfDays(int year, int month)
{
int[] numDays = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int n = numDays[month - 1];
//取得每月天數,判斷平年閏年
if (month == 2 && year % 4 == 0)
{
++n;
}
return n;
}