二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁 » 企業(yè)資訊 » 熱點(diǎn) » 正文

        通過日期即可得到星期幾_神奇哦

        放大字體  縮小字體 發(fā)布日期:2021-12-21 07:18:19    作者:馮潔花    瀏覽次數(shù):75
        導(dǎo)讀

        蕞近在學(xué)習(xí)過程中需要通過日期來確定當(dāng)天為星期幾,雖然很多編程語言有封裝好得方法,但每種語言在命名和使用上也不一定相同,那么是否能夠找到一種通用得方法呢,還真找到了。背景知識(shí)介紹: 基姆拉爾森計(jì)算公式 W=

        蕞近在學(xué)習(xí)過程中需要通過日期來確定當(dāng)天為星期幾,雖然很多編程語言有封裝好得方法,但每種語言在命名和使用上也不一定相同,那么是否能夠找到一種通用得方法呢,還真找到了。

        背景知識(shí)介紹:

        基姆拉爾森計(jì)算公式

        W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7

        在公式中d表示日期中得日數(shù),m表示月份數(shù),y表示年數(shù)。W為計(jì)算得出得星期幾(0~6 表示星期一 到 星期日)

        注意:在公式中有個(gè)與其他公式不同得地方:把1月和2月看成是上一年得13月和14月,

        例: 如果是2017-01-01則換算成:2016-13-01來代入公式計(jì)算。

        如果是2017-02-01則換算成:2016-14-01來代入公式計(jì)算。

        開始布局界面

        利用編程語言C#布局一個(gè)簡(jiǎn)單界面,如下:

        開始編寫代碼吧,先編程實(shí)現(xiàn)基姆拉爾森計(jì)算公式:

        public static String GetWeekByDate(int year, int month, int day)

        {

        String dayoftheweek = String.Empty;

        if (month == 1 || month == 2)

        {

        month += 12; //month = month + 12;

        year--; //year = year - 1;

        }

        int w = (day + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;

        switch (w)

        {

        case 0:

        dayoftheweek = "星期一";

        break;

        case 1:

        dayoftheweek = "星期二";

        break;

        case 2:

        dayoftheweek = "星期三";

        break;

        case 3:

        dayoftheweek = "星期四";

        break;

        case 4:

        dayoftheweek = "星期五";

        break;

        case 5:

        dayoftheweek = "星期六";

        break;

        case 6:

        dayoftheweek = "星期日";

        break;

        }

        return dayoftheweek;

        }

        重點(diǎn)代碼已完成,接著給Button來個(gè)事件吧

        private void button1_Click(object sender, EventArgs e)

        {

        //獲取選擇得日期,以yyyy-MM-dd(例2017-01-01)顯示字符串

        String date = dateTimePicker1.Value.ToString("yyyy-MM-dd");

        //通過符號(hào) - 將獲取得日期進(jìn)行分割并組合成數(shù)組

        String[] temp = dateTimePicker1.Value.ToString("yyyy-MM-dd").Split('-');

        //獲取數(shù)組中 年 -- temp[0] 月 -- temp[1] 日 -- temp[2]

        //并且將值代入靜態(tài)方法GetWeekByDate中來得到星期幾

        //Convert.ToInt32() 方法將string轉(zhuǎn)換為int

        textBox1.Text = date + " 為 " + GetWeekByDate(Convert.ToInt32(temp[0]), Convert.ToInt32(temp[1]), Convert.ToInt32(temp[2]));

        }

        到這里,大功告成,直接來看運(yùn)行得效果

        用其他編程語言借助基姆拉爾森計(jì)算公式同樣可以寫出計(jì)算星期幾得程序,基本就實(shí)現(xiàn)通用啦,感興趣得小伙伴自己動(dòng)手試試吧。你不去做,永遠(yuǎn)不知道自己能力有強(qiáng)!加油

         
        (文/馮潔花)
        免責(zé)聲明
        本文僅代表作發(fā)布者:馮潔花個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

        粵ICP備16078936號(hào)

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號(hào): weishitui

        客服001 客服002 客服003

        工作時(shí)間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 日本不卡在线一区二区三区视频| 无码人妻一区二区三区精品视频| 日韩一区二区视频| 中文字幕亚洲乱码熟女一区二区| 99精品久久精品一区二区| 国产av熟女一区二区三区| 日韩精品无码Av一区二区| 久久无码人妻一区二区三区午夜| 波多野结衣一区二区三区高清在线| 2021国产精品一区二区在线| 中文字幕乱码一区二区免费| 精品3d动漫视频一区在线观看| 免费无码一区二区三区蜜桃大| 亚州AV综合色区无码一区 | 在线成人一区二区| 人妻体内射精一区二区三区| 国产亚洲3p无码一区二区| 亚洲人成网站18禁止一区| 激情综合丝袜美女一区二区| 亚洲丰满熟女一区二区哦| 国产手机精品一区二区| 中文字幕无码不卡一区二区三区 | 国产精品亚洲专区一区| 亚洲日韩国产欧美一区二区三区 | 精品一区二区三区在线观看| 国产一区二区精品在线观看| 八戒久久精品一区二区三区 | 日韩高清国产一区在线| 免费无码一区二区三区| 亚洲欧美一区二区三区日产| 亚洲性无码一区二区三区| 精品国产高清自在线一区二区三区| 久久蜜桃精品一区二区三区| 精品国产亚洲第一区二区三区| 日韩一区在线视频| 中文国产成人精品久久一区| 夜夜添无码一区二区三区| 精品国产一区二区三区麻豆| 午夜视频一区二区| 久久久99精品一区二区| 人妻久久久一区二区三区|