1var lunarInfo=new Array( 20x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2, 30x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977, 40x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970, 50x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950, 60x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557, 70x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0, 80x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0, 90x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6, 100x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570, 110x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0, 120x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5, 130x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930, 140x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530, 150x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45, 160x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0) 17var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31); 18var Gan=new Array("¼×","ÒÒ","±û","¶¡","Îì","¼º","¸ý","ÐÁ","ÈÉ","¹ï"); 19var Zhi=new Array("×Ó","³ó","Òú","î","³½","ËÈ","Îç","δ","Éê","ÓÏ","Ðç","º¥"); 20var Animals=new Array("Êó","Å£","»¢","ÍÃ","Áú","Éß","Âí","Ñò","ºï","¼¦","¹·","Öí"); 21var solarTerm = new Array("Сº®","´óº®","Á¢´º","ÓêË®","¾ªÕÝ","´º·Ö","ÇåÃ÷","¹ÈÓê","Á¢ÏÄ","СÂú","âÖÖ","ÏÄÖÁ","СÊî","´óÊî","Á¢Çï","´¦Êî","°×¶","Çï·Ö","º®Â¶","˪½µ","Á¢¶¬","Сѩ","´óÑ©","¶¬ÖÁ"); 22var 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); 23var nStr1 = new Array('ÈÕ','Ò»','¶þ','Èý','ËÄ','Îå','Áù','Æß','°Ë','¾Å','Ê®','ʮһ','Ê®¶þ'); 24var nStr2 = new Array('³õ','Ê®','Ø¥','ئ','¡¡'); 25var monthName = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"); 26var sFtv = new Array( 27"0101*Ôªµ©", 28"0214 ÇéÈ˽Ú", 29"0308 ¸¾Å®½Ú", 30"0312 Ö²Ê÷½Ú", 31"0315 Ïû·ÑÕßÈ¨ÒæÈÕ", 32"0317 St. Patrick's", 33"0401 ÓÞÈ˽Ú", 34"0501 ÀͶ¯½Ú", 35"0504 ÇàÄê½Ú", 36"0512 »¤Ê¿½Ú", 37"0520 ÎÄɺÉúÈÕ", 38"0601 ¶ùͯ½Ú", 39"0613 À¤ÉúÈÕ", 40"0614 Flag Day", 41"0701 ½¨µ³½Ú Ïã¸Û»Ø¹é¼ÍÄî", 42"0801 ½¨¾ü½Ú", 43"0808 ¸¸Ç×½Ú", 44"0908 ïÉúÈÕ", 45"0909 ëÔó¶«ÊÅÊÀ¼ÍÄî", 46"0910 ½Ìʦ½Ú", 47"0928 ¿××Óµ®³½", 48"1001*¹úÇì½Ú", 49"1006 ÀÏÈ˽Ú", 50"1011 ÉÙɺÉúÈÕ", 51"1024 ÁªºÏ¹úÈÕ", 52"1111 Veteran's / Remembrance Day", 53"1112 ËïÖÐɽµ®³½¼ÍÄî", 54"1220 °ÄÃŻعé¼ÍÄî", 55"1225 Christmas Day", 56"1226 ëÔó¶«µ®³½¼ÍÄî"); 57var lFtv = new Array( 58"0101*´º½Ú", 59"0115 ÔªÏü½Ú", 60"0505 ¶ËÎç½Ú", 61"0707 ÆßϦÇéÈ˽Ú", 62"0715 ÖÐÔª½Ú", 63"0815 ÖÐÇï½Ú", 64"0909 ÖØÑô½Ú", 65"1208 À°°Ë½Ú", 66"1224 СÄê", 67"0100*³ýϦ"); 68var wFtv = new Array( 69"0131 Martin Luther King Day", 70"0231 President's Day", 71"0520 ĸÇ×½Ú", 72"0530 Armed Forces Day", 73"0531 Victoria Day", 74"0716 ºÏ×÷½Ú", 75"0730 ±»Å«ÒÛ¹ú¼ÒÖÜ", 76"0811 Civic Holiday", 77"0911 Labor Holiday", 78"1021 Columbus Day", 79"1144 Thanksgiving"); 80function lYearDays(y) { 81 var i, sum = 348 82 for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0 83 return(sum+leapDays(y)) 84} 85function leapDays(y) { 86 if(leapMonth(y)) return((lunarInfo[y-1900] & 0x10000)? 30: 29) 87 else return(0) 88} 89function leapMonth(y) { 90 return(lunarInfo[y-1900] & 0xf) 91} 92function monthDays(y,m) { 93 return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 ) 94} 95function Lunar(objDate) { 96 var i, leap=0, temp=0 97 var baseDate = new Date(1900,0,31) 98 var offset = (objDate - baseDate)/86400000 99 100 this.dayCyl = offset + 40 101 this.monCyl = 14 102 103 for(i=1900; i<2050 && offset>0; i++) { 104 temp = lYearDays(i) 105 offset -= temp 106 this.monCyl += 12 107 } 108 if(offset<0) { 109 offset += temp; 110 i--; 111 this.monCyl -= 12 112 } 113 114 this.year = i 115 this.yearCyl = i-1864 116 117 leap = leapMonth(i) 118 this.isLeap = false 119 120 for(i=1; i<13 && offset>0; i++) { 121 if(leap>0 && i==(leap+1) && this.isLeap==false) 122 { --i; this.isLeap = true; temp = leapDays(this.year); } 123 else 124 { temp = monthDays(this.year, i); } 125 126 if(this.isLeap==true && i==(leap+1)) this.isLeap = false 127 128 offset -= temp 129 if(this.isLeap == false) this.monCyl ++ 130 } 131 132 if(offset==0 && leap>0 && i==leap+1) 133 if(this.isLeap) 134 { this.isLeap = false; } 135 else 136 { this.isLeap = true; --i; --this.monCyl;} 137 138 if(offset<0){ offset += temp; --i; --this.monCyl; } 139 140 this.month = i 141 this.day = offset + 1 142} 143function solarDays(y,m) { 144 if(m==1) 145 return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28) 146 else 147 return(solarMonth[m]) 148} 149function cyclical(num) { 150 return(Gan[num%10]+Zhi[num%12]) 151} 152function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay) { 153 154 this.isToday = false; 155 this.sYear = sYear; 156 this.sMonth = sMonth; 157 this.sDay = sDay; 158 this.week = week; 159 this.lYear = lYear; 160 this.lMonth = lMonth; 161 this.lDay = lDay; 162 this.isLeap = isLeap; 163 this.cYear = cYear; 164 this.cMonth = cMonth; 165 this.cDay = cDay; 166 this.color = ''; 167 this.lunarFestival = ''; 168 this.solarFestival = ''; 169 this.solarTerms = ''; 170 171} 172function sTerm(y,n) { 173 var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) ) 174 return(offDate.getUTCDate()) 175} 176function calendar(y,m) { 177 178 var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2 179 var lDPOS = new Array(3) 180 var n = 0 181 var firstLM = 0 182 183 sDObj = new Date(y,m,1) 184 185 this.length = solarDays(y,m) 186 this.firstWeek = sDObj.getDay() 187 188 189 for(var i=0;i<this.length;i++) { 190 191 if(lD>lX) { 192 sDObj = new Date(y,m,i+1) 193 lDObj = new Lunar(sDObj) 194 lY = lDObj.year 195 lM = lDObj.month 196 lD = lDObj.day 197 lL = lDObj.isLeap 198 lX = lL? leapDays(lY): monthDays(lY,lM) 199 200 if(n==0) firstLM = lM 201 lDPOS[n++] = i-lD+1 202 } 203 this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7], 204 lY, lM, lD++, lL, 205 cyclical(lDObj.yearCyl) ,cyclical(lDObj.monCyl), cyclical(lDObj.dayCyl++) ) 206 207 208 if((i+this.firstWeek)%7==0) this[i].color = 'red' 209 if((i+this.firstWeek)%14==13) this[i].color = 'red' 210 } 211 212 tmp1=sTerm(y,m*2 )-1 213 tmp2=sTerm(y,m*2+1)-1 214 this[tmp1].solarTerms = solarTerm[m*2] 215 this[tmp2].solarTerms = solarTerm[m*2+1] 216 if(m==3) this[tmp1].color = 'red' 217 218/* 219 for(i in sFtv) 220 if(sFtv[i].match(/^(d{2})(d{2})([s*])(.+)$/)) 221 if(Number(RegExp.$1)==(m+1)) { 222 this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' ' 223 if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red' 224 } 225 226 227 for(i in wFtv) 228 if(wFtv[i].match(/^(d{2})(d)(d)([s*])(.+)$/)) 229 if(Number(RegExp.$1)==(m+1)) { 230 tmp1=Number(RegExp.$2) 231 tmp2=Number(RegExp.$3) 232 this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].solarFestival += RegExp.$5 + ' ' 233 } 234 235 236 for(i in lFtv) 237 if(lFtv[i].match(/^(d{2})(.{2})([s*])(.+)$/)) { 238 tmp1=Number(RegExp.$1)-firstLM 239 if(tmp1==-11) tmp1=1 240 if(tmp1 >=0 && tmp1<n) { 241 tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1 242 if( tmp2 >= 0 && tmp2<this.length) { 243 this[tmp2].lunarFestival += RegExp.$4 + ' ' 244 if(RegExp.$3=='*') this[tmp2].color = 'red' 245 } 246 } 247 } 248 249 250 if((this.firstWeek+12)%7==5) 251 this[12].solarFestival += 'ºÚÉ«ÐÇÆÚÎå '*/ 252 253 if(y==tY && m==tM) this[tD-1].isToday = true; 254 255} 256 257function cDay(d){ 258 var s; 259 260 switch (d) { 261 case 10: 262 s = '³õÊ®'; break; 263 case 20: 264 s = '¶þÊ®'; break; 265 break; 266 case 30: 267 s = 'ÈýÊ®'; break; 268 break; 269 default : 270 s = nStr2[Math.floor(d/10)]; 271 s += nStr1[d%10]; 272 } 273 return(s); 274} 275 276 277var cld; 278var Today = new Date(); 279var tY = Today.getFullYear(); 280var tM = Today.getMonth(); 281var tD = Today.getDate(); 282cld = new calendar(tY,tM);
283 284function clock(){ 285 d=tD-1; 286 festival = ' '+cld[d].solarTerms + ' ' + cld[d].solarFestival + ' ' + cld[d].lunarFestival; 287 time=cld[d].sYear+'Äê'+cld[d].sMonth+'ÔÂ'+cld[d].sDay+'ÈÕ ÐÇÆÚ'+cld[d].week+' Å©Àú'+(cld[d].isLeap?'Èò ':'')+nStr1[cld[d].lMonth]+'ÔÂ'+cDay(cld[d].lDay)+'ÈÕ'+festival; 288 //document.write(time); 289 //document.getElementById("showtime").innerHTML = time; 290 return time; 291}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.