二維碼
        企資網(wǎng)

        掃一掃關(guān)注

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

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

        放大字體  縮小字體 發(fā)布日期:2021-12-21 07:18:19    作者:馮潔花    瀏覽次數(shù):100
        導(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一区二区三区| 亚洲AV永久无码精品一区二区国产 | 国产av福利一区二区三巨| 白丝爆浆18禁一区二区三区 | 无码8090精品久久一区| 色综合久久一区二区三区| 国产在线一区视频| 一区二区三区中文字幕| 日本一区午夜爱爱| jizz免费一区二区三区| 黄桃AV无码免费一区二区三区| 精品国产日韩亚洲一区在线| 怡红院一区二区在线观看| 日韩一区二区精品观看| 国产AV午夜精品一区二区入口| 久久久无码精品国产一区| 国产精品自拍一区| 中文字幕一区二区三区永久| 日韩精品一区二区三区老鸭窝 | 欧洲精品码一区二区三区免费看 | 久久一区二区三区免费播放| 亚洲天堂一区二区三区| 无码精品人妻一区二区三区免费| 久久精品国产一区二区| 在线日韩麻豆一区| 伊人色综合一区二区三区| 一区二区无码免费视频网站| 免费萌白酱国产一区二区三区|