• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Java根据基姆拉尔森公式计算当前日期是星期几

JAVA相关 水墨上仙 2642次浏览

Java根据基姆拉尔森公式计算当前日期是星期几

基姆拉尔森计算公式

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来代入公式计算。

public class TestXingqiji
{
     /**
      * 计算某天星期几
      * 在計算此問題上比較常用的還是基姆拉尔森计算公式(具體介紹可在網上搜索)
          W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 
          d 天
          m 月
          y 年
         1月2月换算为去年的13、14月计算,也即2007年的1月和2月在公式中體現為2006年的13和14月,
                          雖然與實際不符但這是邏輯的需要。
      * @param y 年
      * @param m 月
      * @param d 日
      * @return 
      */
     public static String suan(int y,int m,int d)
     {
          if(m==1) {m=13;y--;}
          if(m==2) {m=14;y--;}
          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;  
      }
     
     public static void main(String[] args) {
         System.out.print(suan(2012,1,31));
     }
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Java根据基姆拉尔森公式计算当前日期是星期几
喜欢 (0)
加载中……