国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

.NET實現(xiàn)的農(nóng)歷功能及其代碼分享

2019-11-18 12:04:35
字體:
供稿:網(wǎng)友

  今天在baidu上也發(fā)現(xiàn)了這個東西,只不過功能更強勁一點罷了,都是一樣的!
  
  源代碼如下:
  
  <Html><HEAD><TITLE>農(nóng)歷與西歷對照</TITLE>
  <META
  content="農(nóng)歷; 陽歷; 月歷; 節(jié)日; 時區(qū); 節(jié)氣; 八字; 干支; 生肖; gregorian solar; chinese lunar; calendar;"
  name=keyWords>
  <META content=All name=robots>
  <META content="gregorian solar calendar and chinese lunar calendar"
  name=description>
  <META content="text/html; charset=gb2312" http-equiv=Content-Type>
            
  <SCRIPT language=javascript>
  <!--
  /*****************************************************************************
                    日期資料
  *****************************************************************************/
  
  var lunarInfo=new Array(
  0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
  0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
  0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
  0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
  0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,
  0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,
  0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
  0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,
  0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
  0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,
  0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,
  0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,
  0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,
  0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,
  0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0)
  
  var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var Gan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");
  var Zhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");
  var Animals=new Array("鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬");
  var solarTerm = new Array("小寒","大寒","立春","雨水","驚蟄","春分","清明","谷雨","立夏","小滿","芒種","夏至","小暑","大暑","立秋","處暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至")
  var sTermInfo = new Array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758)
  var nStr1 = new Array('日','一','二','三','四','五','六','七','八','九','十')
  var nStr2 = new Array('初','十','廿','卅',' ')
  var monthName = new Array("JAN","FEB","MAR","A  
  //國歷節(jié)日 *表示放假日
  var sFtv = new Array(
  "0101*元旦",
  "0214 情人節(jié)",
  "0308 婦女節(jié)",
  "0312 植樹節(jié)",
  "0315 消費者權(quán)益日",
  "0317 St. Patrick's",
  "0401 愚人節(jié)",
  "0501 勞動節(jié)",
  "0504 青年節(jié)",
  "0512 護(hù)士節(jié)",
  "0520 文珊生日",
  "0601 兒童節(jié)",
  "0613 坤生日",
  "0614 Flag Day",
  "0701 建黨節(jié) 香港回歸紀(jì)念",
  "0801 建軍節(jié)",
  "0808 父親節(jié)",
  "0908 茂生日",
  "0909 毛澤東逝世紀(jì)念",
  "0910 教師節(jié)",
  "0928 孔子誕辰",
  "1001*國慶節(jié)",
  "1006 老人節(jié)",
  "1011 少珊生日",
  "1024 聯(lián)合國日",
  "1111 Veteran's / Remembrance Day",
  "1112 孫中山誕辰紀(jì)念",
  "1220 澳門回歸紀(jì)念",
  "1225 Christmas Day",
  "1226 毛澤東誕辰紀(jì)念")
  
  //農(nóng)歷節(jié)日 *表示放假日
  var lFtv = new Array(
  "0101*春節(jié)",
  "0115 元宵節(jié)",
  "0505 端午節(jié)",
  "0707 七夕情人節(jié)",
  "0715 中元節(jié)",
  "0815 中秋節(jié)",
  "0909 重陽節(jié)",
  "1208 臘八節(jié)",
  "1224 小年",
  "0100*除夕")
  
  //某月的第幾個星期幾
  var wFtv = new Array(
  "0131 Martin Luther King Day",
  "0231 President's Day",
  "0520 母親節(jié)",
  "0530 Armed Forces Day",
  "0531 Victoria Day",
  "0716 合作節(jié)",
  "0730 被奴役國家周",
  "0811 Civic Holiday",
  "0911 Labor Holiday",
  "1021 Columbus Day",
  "1144 Thanksgiving")
  
  /*****************************************************************************
                     日期計算
  *****************************************************************************/
  
  //====================================== 傳回農(nóng)歷 y年的總天數(shù)
  function lYearDays(y) {
    var i, sum = 348
    for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0
    return(sum+leapDays(y))
  }
  
  //====================================== 傳回農(nóng)歷 y年閏月的天數(shù)
  function leapDays(y) {
    if(leapMonth(y)) return((lunarInfo[y-1900] & 0x10000)? 30: 29)
    else return(0)
  }
  
  //====================================== 傳回農(nóng)歷 y年閏哪個月 1-12 , 沒閏傳回 0
  function leapMonth(y) {
    return(lunarInfo[y-1900] & 0xf)
  }
  
  //====================================== 傳回農(nóng)歷 y年m月的總天數(shù)
  function monthDays(y,m) {
    return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 )
  }
  
  //====================================== 算出農(nóng)歷, 傳入日期物件, 傳回農(nóng)歷日期物件
  //                    該物件屬性有 .year .month .day .isLeap .yearCyl .dayCyl .monCyl
  function Lunar(objDate) {
  
    var i, leap=0, temp=0
    var baseDate = new Date(1900,0,31)
    var offset  = (objDate - baseDate)/86400000
  
    this.dayCyl = offset + 40
    this.monCyl = 14
  
    for(i=1900; i<2050 && offset>0; i++) {
     temp = lYearDays(i)
     offset -= temp
     this.monCyl += 12
    }
  
    if(offset<0) {
     offset += temp;
     i--;
     this.monCyl -= 12
    }
  
    this.year = i
    this.yearCyl = i-1864
  
    leap = leapMonth(i) //閏哪個月
    this.isLeap = false
  
    for(i=1; i<13 && offset>0; i++) {
     //閏月
     if(leap>0 && i==(leap+1) && this.isLeap==false)
       { --i; this.isLeap = true; temp = leapDays(this.year); }
     else
       { temp = monthDays(this.year, i); }
  
     //解除閏月
     if(this.isLeap==true && i==(leap+1)) this.isLeap = false
  
     offset -= temp
     if(this.isLeap == false) this.monCyl ++
    }
  
    if(offset==0 && leap>0 && i==leap+1)
     if(this.isLeap)
       { this.isLeap = false; }
     else
       { this.isLeap = true; --i; --this.monCyl;}
  
    if(offset<0){ offset += temp; --i; --this.monCyl; }
  
    this.month = i
    this.day = offset + 1
  }
  
  //==============================傳回國歷 y年某m+1月的天數(shù)
  function solarDays(y,m) {
    if(m==1)
     return(((y%4 == 0) && (y%100 != 0) (y%400 == 0))? 29: 28)
    else
     return(solarMonth[m])
  }
  //============================== 傳入 offset 傳回干支, 0=甲子
  function cyclical(num) {
    return(Gan[num%10]+Zhi[num%12])
  }
  
  //============================== 月歷屬性
  function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 石景山区| 新干县| 福建省| 樟树市| 墨玉县| 友谊县| 武强县| 西青区| 铁岭县| 佛坪县| 保德县| 临洮县| 海淀区| 永顺县| 台江县| 双桥区| 曲阜市| 加查县| 苍梧县| 安阳县| 阿拉善右旗| 平塘县| 南丰县| 台北县| 德安县| 通海县| 绥滨县| 北辰区| 固安县| 萍乡市| 江西省| 洞头县| 图们市| 绥滨县| 永济市| 河西区| 闸北区| 大渡口区| 深水埗区| 韶关市| 衡东县|