二維碼
        企資網(wǎng)

        掃一掃關(guān)注

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

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

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

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

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

        背景知識介紹:

        基姆拉爾森計算公式

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

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

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

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

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

        開始布局界面

        利用編程語言C#布局一個簡單界面,如下:

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

        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;

        }

        重點代碼已完成,接著給Button來個事件吧

        private void button1_Click(object sender, EventArgs e)

        {

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

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

        //通過符號 - 將獲取得日期進(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]));

        }

        到這里,大功告成,直接來看運行得效果

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

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

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

        粵ICP備16078936號

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

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

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 日本韩国一区二区三区| 人妻无码一区二区不卡无码av| 台湾无码一区二区| 成人区精品一区二区不卡亚洲 | 亚洲Av高清一区二区三区| 人妻无码一区二区三区| av一区二区三区人妻少妇| 无码人妻久久久一区二区三区| 夜夜爽一区二区三区精品| 国产福利酱国产一区二区| 日韩人妻无码一区二区三区99| 中文字幕一区二区三区精华液| 国产一区二区三区在线免费 | 亚洲无码一区二区三区| 久久国产免费一区二区三区 | 国产一区二区在线视频播放| 日韩在线一区二区| 91香蕉福利一区二区三区| 国产在线精品一区免费香蕉| 人成精品视频三区二区一区 | 不卡一区二区在线| 国产成人综合精品一区| 变态调教一区二区三区| 一区二区精品在线观看| 鲁大师成人一区二区三区| 无码欧精品亚洲日韩一区夜夜嗨| 影院成人区精品一区二区婷婷丽春院影视 | 中文字幕一区二区三区在线不卡 | 亚洲AV无码一区二区三区鸳鸯影院 | 日韩精品电影一区亚洲| 精品一区二区三区AV天堂| 色综合视频一区二区三区 | 秋霞无码一区二区| 老熟女高潮一区二区三区| 国产精品夜色一区二区三区| 国产精品高清视亚洲一区二区| 无码少妇丰满熟妇一区二区| 制服美女视频一区| 久久精品国产一区二区三区不卡| 国产在线精品一区二区不卡麻豆| 久久精品国产免费一区|