C#根據年月日計算星期幾的函數
DateTime.Now.ToString("dddd",new System.Globalization.CultureInfo("zh-cn"));
今天在網上看見一些關于 C#實現的根據年月日計算星期幾 的介紹:
算法如下:
基姆拉爾森計算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
在公式中d表示日期中的日數,m表示月份數,y表示年數。
注意:在公式中有個與其他公式不同的地方:
把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10則換算成:2003-13-10來代入公式計算。
代碼如下:
//y-年,m-月,d-日期
string CaculateWeekDay(int y,int m,int d)
{
string[] weekstr ={ "日", "一", "二", "三", "四", "五", "六" };
if (m < 3)
{
m += 12;
if (y % 400 == 0 || y % 100 != 0 && y % 4 == 0)
{
d--;
}
}
else
{
d += 1;
}
return "星期" + weekstr[(d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7];
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C#中Task.ContinueWith連續(xù)任務使用實例
本文主要介紹了C#中Task.ContinueWith連續(xù)任務使用實例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
RegexOptions.IgnoreCase正則表達式替換,忽略大小寫
RegexOptions.IgnoreCase正則表達式替換,忽略大小寫,需要的朋友可以參考一下2013-03-03
C#?彈出窗口show()和showdialog()的兩種方式
本文主要介紹了C#?彈出窗口show()和showdialog()的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07

