黑马程序员-类 基姆拉尔森

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

百度百科上关于基姆拉尔森计算公式只给出了java算法,自己整理了下C#的算法。。

算法如下:
基姆拉尔森计算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7
在公式中d表示日期中的日数,m表示月份数,y表示年数。
注意:在公式中有个与其他公式不同的地方:
把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。

 public class b
        {
            int y, m, d;
            public b(int y, int m, int d)
            {
                this.y = y;
                this.m = m;
                this.d = d;

            }
          public string CaculateWeekDay(int y, int m, int d)
            {
                if (m == 1 || m == 2)
                {
                    m += 12;
                    y--;         //把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。
                }
                int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;
                string weekstr = "";
                switch (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;
                }
                return weekstr;
            }
        }
        

        private void button1_Click(object sender, EventArgs e)
        {
    
          int   y = Convert.ToInt32(textBox1.Text);
          int m = Convert.ToInt32(textBox2.Text);
          int d = Convert.ToInt32(textBox3.Text);
          b a = new b(y,m,d);
          label1.Text = a.CaculateWeekDay(y, m, d);
 

        }
    }
ok。。。就是这样

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看: www.itheima.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值