七夕節源碼
Ⅰ 鎬ラ渶鈥滃啘鍘嗘棩鍘咼AVA浠g爜鈥
http://netroom.hbu.e.cn/personal/wenyuxuan/yan/yantime011.htm
錛堟妸浠g爜澶嶅埗鍒頒竴涓鏂扮┖鐧界綉欏典腑鍗沖彲錛屽埆鐪嬫紨紺猴紝婕旂ず鐨勪唬鐮佷笉瀵癸級
浠g爜濡備笅錛
<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","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
//鍥藉巻鑺傛棩 *琛ㄧず鏀懼亣鏃
var sFtv = new Array(
"0101*鍏冩棪",
"0214 鎯呬漢鑺",
"0308 濡囧コ鑺",
"0312 妞嶆爲鑺",
"0315 娑堣垂鑰呮潈鐩婃棩",
"0317 St. Patrick's",
"0401 鎰氫漢鑺",
"0501 鍔沖姩鑺",
"0504 闈掑勾鑺",
"0512 鎶ゅ+鑺",
"0512 鑼電敓鏃",
"0601 鍎跨ヨ妭",
"0614 Flag Day",
"0701 寤哄厷鑺 棣欐腐鍥炲綊綰蹇",
"0703 鐐庨粍鍦ㄧ嚎璇炶景",
"0718 鎵樻櫘璇炶景",
"0801 寤哄啗鑺",
"0808 鐖朵翰鑺",
"0909 姣涙辰涓滈濅笘綰蹇",
"0910 鏁欏笀鑺",
"0928 瀛斿瓙璇炶景",
"1001*鍥藉簡鑺",
"1006 鑰佷漢鑺",
"1024 鑱斿悎鍥芥棩",
"1111 Veteran's / Remembrance Day",
"1112 瀛欎腑灞辮癁杈扮邯蹇",
"1220 婢抽棬鍥炲綊綰蹇",
"1225 Christmas Day",
"1226 姣涙辰涓滆癁杈扮邯蹇")
//鍐滃巻鑺傛棩 *琛ㄧず鏀懼亣鏃
var lFtv = new Array(
"0101*鏄ヨ妭",
"0115 鍏冨佃妭",
"0328 鎴戠敓鏃",
"0505 絝鍗堣妭",
"0707 涓冨曟儏浜鴻妭",
"0715 涓鍏冭妭",
"0815 涓縐嬭妭",
"0909 閲嶉槼鑺",
"1208 鑵婂叓鑺",
"1224 灝忓勾",
"0100*闄ゅ")
//鏌愭湀鐨勭鍑犱釜鏄熸湡鍑
var wFtv = new Array(
"0131 Martin Luther King Day",
"0231 President's Day",
"0520 姣嶄翰鑺",
"0530 Armed Forces Day",
"0531 Victoria Day",
"0716 鍚堜綔鑺",
"0730 琚濂村焦鍥藉跺懆",
"0811 Civic Holiday",
"0911 Labor Holiday",
"1021 Columbus Day",
"1144 Thanksgiving")
/*****************************************************************************
鏃ユ湡璁$畻
*****************************************************************************/
//====================================== 浼犲洖鍐滃巻 y騫寸殑鎬誨ぉ鏁
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))
}
//====================================== 浼犲洖鍐滃巻 y騫撮棸鏈堢殑澶╂暟
function leapDays(y) {
if(leapMonth(y)) return((lunarInfo[y-1900] & 0x10000)? 30: 29)
else return(0)
}
//====================================== 浼犲洖鍐滃巻 y騫撮棸鍝涓鏈 1-12 , 娌¢棸浼犲洖 0
function leapMonth(y) {
return(lunarInfo[y-1900] & 0xf)
}
//====================================== 浼犲洖鍐滃巻 y騫磎鏈堢殑鎬誨ぉ鏁
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 )
}
//====================================== 綆楀嚭鍐滃巻, 浼犲叆鏃ユ湡鐗╀歡, 浼犲洖鍐滃巻鏃ユ湡鐗╀歡
// 璇ョ墿浠跺睘鎬ф湁 .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); }
//瑙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鏈堢殑澶╂暟
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,cYear,cMonth,cDay) {
this.isToday = false;
//鍥藉巻
this.sYear = sYear;
this.sMonth = sMonth;
this.sDay = sDay;
this.week = week;
//鍐滃巻
this.lYear = lYear;
this.lMonth = lMonth;
this.lDay = lDay;
this.isLeap = isLeap;
//騫叉敮
this.cYear = cYear;
this.cMonth = cMonth;
this.cDay = cDay;
this.color = '';
this.lunarFestival = ''; //鍐滃巻鑺傛棩
this.solarFestival = ''; //鍥藉巻鑺傛棩
this.solarTerms = ''; //鑺傛皵
}
//===== 鏌愬勾鐨勭琻涓鑺傛皵涓哄嚑鏃(浠0灝忓瘨璧風畻)
function sTerm(y,n) {
var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) )
return(offDate.getUTCDate())
}
//============================== 浼犲洖鏈堝巻鐗╀歡 (y騫,m+1鏈)
function calendar(y,m) {
var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2
var lDPOS = new Array(3)
var n = 0
var firstLM = 0
sDObj = new Date(y,m,1) //褰撴湀涓鏃ユ棩鏈
this.length = solarDays(y,m) //鍥藉巻褰撴湀澶╂暟
this.firstWeek = sDObj.getDay() //鍥藉巻褰撴湀1鏃ユ槦鏈熷嚑
for(var i=0;i<this.length;i++) {
if(lD>lX) {
sDObj = new Date(y,m,i+1) //褰撴湀涓鏃ユ棩鏈
lDObj = new Lunar(sDObj) //鍐滃巻
lY = lDObj.year //鍐滃巻騫
lM = lDObj.month //鍐滃巻鏈
lD = lDObj.day //鍐滃巻鏃
lL = lDObj.isLeap //鍐滃巻鏄鍚﹂棸鏈
lX = lL? leapDays(lY): monthDays(lY,lM) //鍐滃巻褰撴湀鏈鍚庝竴澶
if(n==0) firstLM = lM
lDPOS[n++] = i-lD+1
}
//sYear,sMonth,sDay,week,
//lYear,lMonth,lDay,isLeap,
//cYear,cMonth,cDay
this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],
lY, lM, lD++, lL,
cyclical(lDObj.yearCyl) ,cyclical(lDObj.monCyl), cyclical(lDObj.dayCyl++) )
if((i+this.firstWeek)%7==0) this[i].color = 'red' //鍛ㄦ棩棰滆壊
if((i+this.firstWeek)%14==13) this[i].color = 'red' //鍛ㄤ紤浜屾棩棰滆壊
}
//鑺傛皵
tmp1=sTerm(y,m*2 )-1
tmp2=sTerm(y,m*2+1)-1
this[tmp1].solarTerms = solarTerm[m*2]
this[tmp2].solarTerms = solarTerm[m*2+1]
if(m==3) this[tmp1].color = 'red' //娓呮槑棰滆壊
//鍥藉巻鑺傛棩
for(i in sFtv)
if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))
if(Number(RegExp.$1)==(m+1)) {
this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' '
if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red'
}
//鏈堝懆鑺傛棩
for(i in wFtv)
if(wFtv[i].match(/^(\d{2})(\d)(\d)([\s\*])(.+)$/))
if(Number(RegExp.$1)==(m+1)) {
tmp1=Number(RegExp.$2)
tmp2=Number(RegExp.$3)
this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].solarFestival += RegExp.$5 + ' '
}
//鍐滃巻鑺傛棩
for(i in lFtv)
if(lFtv[i].match(/^(\d{2})(.{2})([\s\*])(.+)$/)) {
tmp1=Number(RegExp.$1)-firstLM
if(tmp1==-11) tmp1=1
if(tmp1 >=0 && tmp1<n) {
tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1
if( tmp2 >= 0 && tmp2<this.length) {
this[tmp2].lunarFestival += RegExp.$4 + ' '
if(RegExp.$3=='*') this[tmp2].color = 'red'
}
}
}
//榛戣壊鏄熸湡浜
if((this.firstWeek+12)%7==5)
this[12].solarFestival += '榛戣壊鏄熸湡浜 '
//浠婃棩
if(y==tY && m==tM) this[tD-1].isToday = true;
}
//====================== 涓鏂囨棩鏈
function cDay(d){
var s;
switch (d) {
case 10:
s = '鍒濆嶮'; break;
case 20:
s = '浜屽嶮'; break;
break;
case 30:
s = '涓夊嶮'; break;
break;
default :
s = nStr2[Math.floor(d/10)];
s += nStr1[d%10];
}
return(s);
}
///////////////////////////////////////////////////////////////////////////////
var cld;
function drawCld(SY,SM) {
var i,sD,s,size;
cld = new calendar(SY,SM);
if(SY>1874 && SY<1909) yDisplay = '鍏夌華' + (((SY-1874)==1)?'鍏':SY-1874)
if(SY>1908 && SY<1912) yDisplay = '瀹g粺' + (((SY-1908)==1)?'鍏':SY-1908)
if(SY>1911 && SY<1950) yDisplay = '姘戝浗' + (((SY-1911)==1)?'鍏':SY-1911)
// if(SY>1949) yDisplay = '鍏卞拰鍥' + (((SY-1949)==1)?'鍏':SY-1949)
// GZ.innerHTML = yDisplay +'騫 鍐滃巻' + cyclical(SY-1900+36) + '騫 銆'+Animals[(SY-4)%12]+'銆';
if(SY>1949) yDisplay = ''
GZ.innerHTML = yDisplay +' 鍐滃巻' + cyclical(SY-1900+36) + '騫 銆'+Animals[(SY-4)%12]+'銆';
YMBG.innerHTML = "" + SY + "<BR>" + monthName[SM];
for(i=0;i<42;i++) {
sObj=eval('SD'+ i);
lObj=eval('LD'+ i);
sObj.className = '';
sD = i - cld.firstWeek;
if(sD>-1 && sD<cld.length) { //鏃ユ湡鍐
sObj.innerHTML = sD+1;
if(cld[sD].isToday) sObj.className = 'todyaColor'; //浠婃棩棰滆壊
sObj.style.color = cld[sD].color; //鍥藉畾鍋囨棩棰滆壊
if(cld[sD].lDay==1) //鏄劇ず鍐滃巻鏈
lObj.innerHTML = '<b>'+(cld[sD].isLeap?'闂':'') + cld[sD].lMonth + '鏈' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'灝':'澶')+'</b>';
else //鏄劇ず鍐滃巻鏃
lObj.innerHTML = cDay(cld[sD].lDay);
s=cld[sD].lunarFestival;
if(s.length>0) { //鍐滃巻鑺傛棩
if(s.length>6) s = s.substr(0, 4)+'鈥';
s = s.fontcolor('red');
}
else { //鍥藉巻鑺傛棩
s=cld[sD].solarFestival;
if(s.length>0) {
size = (s.charCodeAt(0)>0 && s.charCodeAt(0)<128)?8:4;
if(s.length>size+2) s = s.substr(0, size)+'鈥';
s = s.fontcolor('blue');
}
else { //寤垮洓鑺傛皵
s=cld[sD].solarTerms;
if(s.length>0) s = s.fontcolor('limegreen');
}
}
if(s.length>0) lObj.innerHTML = s;
}
else { //闈炴棩鏈
sObj.innerHTML = '';
lObj.innerHTML = '';
}
}
}
function changeLong()
{
var y,m,ly,lm,id,im,iy,yangy,yangm,deltm,miny,tt;
CLD.SY.selectedIndex=CLD.D1.selectedIndex;
CLD.SM.selectedIndex=CLD.D2.selectedIndex;
yangm=0;yangy=0;
tt=true;
while (tt)
{
yangm=0;yangy=0;
changeCld();
for(i=0;i<42;i++)
{
sD = i - cld.firstWeek;
if(sD>-1 && sD<cld.length)
{ //鏃ユ湡鍐
if ((cld[sD].lMonth==CLD.D2.selectedIndex+1)&&(cld[sD].lYear==CLD.D1.selectedIndex+1900))
{
yangy=CLD.SY.selectedIndex+1900; yangm=CLD.SM.selectedIndex ;
tt=false;
break;
}
}
}
if (!tt) break;
pushBtm('MD');
changeCld();
// alert(CLD.SY.selectedIndex+" "+CLD.SM.selectedIndex);
for(i=0;i<42;i++)
{
sD = i - cld.firstWeek;
if(sD>-1 && sD<cld.length)
{ //鏃ユ湡鍐
if ((cld[sD].lMonth==CLD.D2.selectedIndex+1)&&(cld[sD].lYear==CLD.D1.selectedIndex+1900))
{
yangy=CLD.SY.selectedIndex+1900; yangm=CLD.SM.selectedIndex ;
tt=false;
break;
}
}
}
break;
}
// alert(yangy+" "+yangm);
//CLD.SY.selectedIndex=yangy;//-1900;
//pushBtm('YU');
//pushBtm('YD');
CLD.SM.selectedIndex=yangm;
pushBtm('MD');
pushBtm('MU');
}
//changeLong end
function changeCld() {
var y,m;
y=CLD.SY.selectedIndex+1900;
m=CLD.SM.selectedIndex;
drawCld(y,m);
}
function pushBtm(K) {
switch (K){
case 'YU' :
if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
break;
case 'YD' :
if(CLD.SY.selectedIndex<149) CLD.SY.selectedIndex++;
break;
case 'MU' :
if(CLD.SM.selectedIndex>0) {
CLD.SM.selectedIndex--;
}
else {
CLD.SM.selectedIndex=11;
if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
}
break;
case 'MD' :
if(CLD.SM.selectedIndex<11) {
CLD.SM.selectedIndex++;
}
else {
CLD.SM.selectedIndex=0;
if(CLD.SY.selectedIndex<149) CLD.SY.selectedIndex++;
}
break;
default :
CLD.SY.selectedIndex=tY-1900;
CLD.SM.selectedIndex=tM;
}
changeCld();
}
var Today = new Date();
var tY = Today.getFullYear();
var tM = Today.getMonth();
var tD = Today.getDate();
//////////////////////////////////////////////////////////////////////////////
var width = "130";
var offsetx = 2;
var offsety = 16;
var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;
var dStyle;
document.onmousemove = mEvn;
//鏄劇ず璇︾粏鏃ユ湡璧勬枡
function mOvr(v) {
var s,festival;
var sObj=eval('SD'+ v);
var d=sObj.innerHTML-1;
//sYear,sMonth,sDay,week,
//lYear,lMonth,lDay,isLeap,
//cYear,cMonth,cDay
if(sObj.innerHTML!='') {
sObj.style.cursor = 's-resize';
if(cld[d].solarTerms == '' && cld[d].solarFestival == '' && cld[d].lunarFestival == '')
festival = '';
else
festival = '<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#CCFFCC"><TR><TD>'+
'<FONT COLOR="#000000" STYLE="font-size:9pt;">'+cld[d].solarTerms + ' ' + cld[d].solarFestival + ' ' + cld[d].lunarFestival+'</FONT></TD>'+
'</TR></TABLE>';
s= '<TABLE WIDTH="130" BORDER=0 CELLPADDING="2" CELLSPACING=0 BGCOLOR="#000066"><TR><TD>' +
'<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ALIGN="right"><FONT COLOR="#ffffff" STYLE="font-size:9pt;">'+
cld[d].sYear+' 騫 '+cld[d].sMonth+' 鏈 '+cld[d].sDay+' 鏃<br>鏄熸湡'+cld[d].week+'<br>'+
'<font color="violet">鍐滃巻'+(cld[d].isLeap?'闂 ':' ')+cld[d].lMonth+' 鏈 '+cld[d].lDay+' 鏃</font><br>'+
'<font color="yellow">'+cld[d].cYear+'騫 '+cld[d].cMonth+'鏈 '+cld[d].cDay + '鏃</font>'+
'</FONT></TD></TR></TABLE>'+ festival +'</TD></TR></TABLE>';
document.all["detail"].innerHTML = s;
if (snow == 0) {
dStyle.left = x+offsetx-(width/2);
dStyle.top = y+offsety;
dStyle.visibility = "visible";
snow = 1;
}
}
}
//娓呴櫎璇︾粏鏃ユ湡璧勬枡
function mOut() {
if ( cnt >= 1 ) { sw = 0 }
if ( sw == 0 ) { snow = 0; dStyle.visibility = "hidden";}
else cnt++;
}
//鍙栧緱浣嶇疆
function mEvn() {
x=event.x;
y=event.y;
if (document.body.scrollLeft)
{x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
if (snow){
dStyle.left = x+offsetx-(width/2)
dStyle.top = y+offsety
}
}
///////////////////////////////////////////////////////////////////////////
function tick() {
var today
today = new Date()
Clock.innerHTML = today.toLocaleString().replace(/(騫磡鏈)/g, "/").replace(/鏃/, "");
// Clock.innerHTML = TimeAdd(today.toGMTString(), CLD.TZ.value)
window.setTimeout("tick()", 1000);
}
function setCookie(name, value) {
var today = new Date()
var expires = new Date()
expires.setTime(today.getTime() + 1000*60*60*24*365)
document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString()
}
function getCookie(Name) {
var search = Name + "="
if(document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if(offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if(end == -1) end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
else return ""
}
}
/////////////////////////////////////////////////////////
function initial() {
dStyle = detail.style;
CLD.SY.selectedIndex=tY-1900;
CLD.SM.selectedIndex=tM;
drawCld(tY,tM);
// CLD.TZ.selectedIndex=getCookie("TZ");
// changeTZ();
tick();
}
//-->
</SCRIPT>
<STYLE>.todyaColor {
BACKGROUND-COLOR: aqua
}
</STYLE>
<META content="Microsoft FrontPage 4.0" name=GENERATOR></HEAD>
<BODY onload=initial()>
<SCRIPT language=JavaScript><!--
if(navigator.appName == "Netscape" || parseInt(navigator.appVersion) < 4)
document.write("<h1>浣犵殑嫻忚堝櫒鏃犳硶鎵ц屾ょ▼搴忋</h1>姝ょ▼搴忓湪 IE4 浠ュ悗鐨勭増鏈鎵嶈兘鎵ц!!")
//--></SCRIPT>
<DIV id=detail style="POSITION: absolute"></DIV>
<FORM name=CLD>
<div align="center">
<TABLE width="672" align="right" height="259" bordercolordark="#CC9900" border="4" background="l11.gif">
<CENTER>
<center>
<TBODY>
</center></center>
<TR>
<TD align=middle vAlign=top width="170" height="255">
<div align="center">
<center>
<TABLE BORDER=1 COLSPAN=2 width="221">
<CENTER>
<center><FONT size=2
style="FONT-SIZE: 9pt">
<td width="209">
<p align="center"><font style="font-size:10.8pt" color=RED>鏈鍦拌$畻鏈烘椂闂:</FONT></FONT><BR><FONT color=#000080 face=ARIAL
id=Clock size=3 align="center"></FONT>
<P><!--鏃跺尯 *琛ㄧず鑷鍔ㄨ皟鏁翠負鏃ュ厜鑺傜害鏃墮棿-->
</center>
</CENTER>
</TABLE>
</center>
</div>
<div align="center">
<center>
<table border=1 height="1" width="16">
<td height="1" width="255">
<table width="212" height="1"><CENTER>
<center>
<FONT id=tSave
style="COLOR: red; FONT-FAMILY: Wingdings; FONT
Ⅱ 口碑營銷有哪些方法
談口碑營銷,首要要知道什麼是口碑?「口碑」意思是,口口相傳,既可以是正向口碑,也可以負口碑,比如,常常聽朋友介紹說,說某產品質量怎麼怎麼好,這便是典型的口碑相傳,當很多人都在傳的時候,久而久之就形成了口碑傳播。
用戶推薦除了高轉化率,對於推薦者本身也會提高TA使用產品的活躍度和留存。因為人們人們潛意識里都會不斷地維護自己的認知和決定是正確的,給別人介紹多了之後,自己也會對這個品牌更加忠誠。
津薦廣告傳媒
要激發更多的用戶推薦,就要先搞明白用戶為什麼會幫你推薦?
用戶產生推薦的驅動力主要有3種:
1. 產品驅動
因為產品或服務本身非常好,使得用戶非常願意將其分享給周邊的朋友;用戶用完之後,經常會感嘆「真好用!」「真好看!」「真方便!」「體驗真好!」這類的評價;這就需要產品在體驗、模式、服務、性價比等其中一方面,打磨得明顯優於同行。
2. 精神驅動
精神驅動不同於產品驅動的原因在於,用戶並不是本身實際需求被解決,而是產品的靈魂人物的精神激發了用戶。比如你聽到的「這手機真有情懷!」、「我們都欠他一張電影票!」,這兩句話非常熟悉了吧,這種用戶的推薦就來自於滿足用戶精神上滿足的驅動。
比如在鹿晗4月20日生日,鹿晗的粉絲自發組織號召其他粉絲大量評論,單條微博下面有20萬條評論,只為了給他過個生日;然鵝粉絲們並不滿足於此,在七夕節又沖刺到了1314萬條,作為七夕節的粉絲表白,直接打破了吉尼斯世界紀錄!過了一年又到了他生日,就變成了4200萬條評論了,天啦嚕!再然後粉絲們為了追求「一心一億」,把評論沖到了超過1億條評論,微博上#鹿晗#話題的閱讀量已經到了700多億!我看到的時候也是震驚了,這TM才叫洪荒之力啊!
3. 利益驅動
因為產品本身設計的推薦機制,通過分享推薦好友,可以獲得一定的利益;這種好處既包括返現、送券、優惠、送產品等直接利益,也包括一些虛擬產品的使用。比如分享可以解鎖某功能、可以延長VIP使用時長。
例如有一些拼團類的產品,直接買是一個價,三人成團又是另一個更低價格,這其實是發動用戶拉好友一起使用的一個很好的方式。
做好以下這些點用戶會主動幫你宣傳
談到口碑營銷,我們很多企業存在認識上的誤區,一些企業以為製造好的商品,讓消費者滿意,由此樹立良好的口碑,使消費者口耳相傳就是口碑營銷。
其實,製造高品質的商品,使消費者滿意只是進行成功口碑營銷的基礎保障,這一點必不可少,但僅僅如此還是遠遠不夠的。
口碑營銷作為一種營銷形式,自然要包含很多市場營銷的戰術與實施技巧,其中口碑營銷內容的設計更是非常關鍵。
一個成功的口碑傳播內容應該包括:借勢、利益、新穎、爭議、私秘、故事化六項要素:
1. 借勢
口碑營銷的特點就是以小搏大,在操作時要善於利用各種強大的勢能來為己所用——可以藉助自然規律、政策法規、突發事件,甚至是藉助競爭對手的勢能。
下面講一個經典案例:當年百事可樂剛剛創立時,受到了老牌飲料巨頭可口可樂的阻擊,可口可樂以自己悠久的歷史與美國傳統文化為賣點,嘲笑百事可樂是一個剛剛誕生,沒有歷史,沒有文化的品牌,在廣告中通過各種方式對比自己的「老」與百事可樂的「新」。
當時的百事可樂作為一個初創品牌,沒有那麼大的實力去通過廣告戰來反駁或對抗可口可樂, 他們就想出一個辦法——藉助可口可樂的「新老論」來樹立百事可樂的品牌形象。
於是,百事可樂打出了「新一代的可樂,新一代的選擇」為主題的廣告,去宣講新可樂的好處,並主攻喜歡嘗試新鮮事物的年輕人,結果可口可樂鋪天蓋地的廣告反到幫助百事可樂樹立了新一代可樂的品牌形象。
2. 利己
生活中,我們關注與談論最多的莫過於與自己利益相關的各種話題,口碑營銷必須將傳播的內容以利益為紐帶與目標受眾直接或間接地聯系起來,這一點在中國市場尤為重要。
3. 新穎
在今天這個信息爆炸,媒體泛濫的時代里,消費者對廣告,甚至新聞,都具有極強的免疫能力,只有製造新穎的口碑傳播內容才能吸引大眾的關注與議論。
4. 爭議
具有爭議性的話題很容易引起廣泛的傳播,但爭議往往又都帶有一些負面的內容,企業在口碑傳播時要把握好爭議的尺度,最好使爭議在兩個正面的意見中發展。
5. 私密
世界上很多傳播最廣泛的事件曾經都是秘密,這是因為我們每個人都有探聽私密的興趣,越是私密的事物,越是能激發我們探知與議論的興趣。
秘密就像一隻潘多拉的魔盒,不用刻意告訴別人打開,大家自己就會想方設法地主動去打開它;因此,涉及私密的內容是口碑營銷傳播方式中最有效也最有趣的一個手段。
6. 故事
我們在做口碑營銷時最好忘記自己是在做一種廣告宣傳,而是在流傳一段新奇有趣的故事,好的故事自然源遠流長,而如何講好這個故事,就要看這個故事的作者與主角的商業智慧。
如果我們要做口碑營銷,應該怎麼落地呢?
第一種:自己搭建網路推廣團隊。
第二種:找外包公司來完成。
找外包公司也是一件很有技術含量的事情,找的不好不僅影響公司生意還會斷送自己的職業生涯,簡單說一些外包公司坑甲方的套路:
做客服外包的,拿甲方個體數據,借甲方名賣自己貨;
做電商代運營的,賣甲方小二資源,和小二對半分利潤;
做自媒體代運營的,兩千雇實習生一月寫4篇推文就了事;
玩SEM的,和各地分公司談返點,甲方燒得多自己賺得多;
發電子郵件的,反正開信率都低,發幾封就停,把費用揣兜;
發軟文新聞稿的,給甲方報高價,然後再轉包給水軍頭干執行;
賣硬廣的,直接從藍標這樣的大公司拿份刊例價,翻倍報給甲方;
做微博、微信營銷推廣的,從微播易內部拿刊例價,翻倍報給甲方;
做網路聯盟廣告的,買螞蟻聯盟源碼做站,後台改數再流量精靈刷數;
網路視頻廣告,反正轉化率基本是沒有,和媒介談好返點忽悠甲方猛投;
於是很多人都望而卻步了。但是如果有這么一個平台,像天貓一樣,上面有500多家優質服務商,平台還有專家根據你的需求來為你匹配最適合你的服務商,資金第三方存管,對整個服務進程也有監督,那你會不會放心很多?
Ⅲ 誰有VB萬年歷源代碼,謝謝提供!!!!
<HTML><HEAD><TITLE>萬年歷查詢</TITLE>
<META
content="農歷; 陽歷; 月歷; 節日; 時區; 節氣; 八字; 干支; 生肖; gregorian solar; chinese lunar; calendar;"
name=keywords>
<META content=All name=robots>
<META content="gregorian solar calendar and chinese lunar calendar"
name=description>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<style type="text/css">
p {fONT-FAMILY: 宋體; FONT-SIZE: 9pt;line-height:12pt:color:#000000}
TD {fONT-FAMILY: 宋體,simsun; FONT-SIZE: 9pt}
a:link{ color:#000000; text-decoration:none}
a:visited{COLOR: #000000; TEXT-DECORATION: none}
a:active{color:green;text-decoration:none}
a:hover{color:red;text-decoration:underline}
</style>
<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,0x0a5b0,0x14573,0x052b0,0x0a9a8,0x0e950,0x06aa0,
0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b6a0,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,
0x14b63);
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","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
//國歷節日 *表示放假日
var sFtv = new Array(
"0101*元旦節",
"0202 世界濕地日",
"0210 國際氣象節",
"0214 情人節",
"0301 國際海豹日",
"0303 全國愛耳日",
"0305 學雷鋒紀念日",
"0308 婦女節",
"0312 植樹節 孫中山逝世紀念日",
"0314 國際警察日",
"0315 消費者權益日",
"0317 中國國醫節 國際航海日",
"0321 世界森林日 消除種族歧視國際日 世界兒歌日",
"0322 世界水日",
"0323 世界氣象日",
"0324 世界防治結核病日",
"0325 全國中小學生安全教育日",
"0330 巴勒斯坦國土日",
"0401 愚人節 全國愛國衛生運動月(四月) 稅收宣傳月(四月)",
"0407 世界衛生日",
"0422 世界地球日",
"0423 世界圖書和版權日",
"0424 亞非新聞工作者日",
"0501*勞動節",
"0502*勞動節假日",
"0503*勞動節假日",
"0504 青年節",
"0505 碘缺乏病防治日",
"0508 世界紅十字日",
"0512 國際護士節",
"0515 國際家庭日",
"0517 國際電信日",
"0518 國際博物館日",
"0520 全國學生營養日",
"0523 國際牛奶日",
"0531 世界無煙日",
"0601 國際兒童節",
"0605 世界環境保護日",
"0606 全國愛眼日",
"0617 防治荒漠化和乾旱日",
"0623 國際奧林匹克日",
"0625 全國土地日",
"0626 國際禁毒日",
"0701 香港回歸紀念日 中共誕辰 世界建築日",
"0702 國際體育記者日",
"0707 抗日戰爭紀念日",
"0711 世界人口日",
"0730 非洲婦女日",
"0801 建軍節",
"0808 中國男子節(爸爸節)",
"0815 抗日戰爭勝利紀念",
"0908 國際掃盲日 國際新聞工作者日",
"0909 毛澤東逝世紀念",
"0910 中國教師節",
"0914 世界清潔地球日",
"0916 國際臭氧層保護日",
"0918 九·一八事變紀念日",
"0920 國際愛牙日",
"0927 世界旅遊日",
"0928 孔子誕辰",
"1001*國慶節 世界音樂日 國際老人節",
"1002*國慶節假日 國際和平與民主自由斗爭日",
"1003*國慶節假日",
"1004 世界動物日",
"1006 老人節",
"1008 全國高血壓日 世界視覺日",
"1009 世界郵政日 萬國郵聯日",
"1010 辛亥革命紀念日 世界精神衛生日",
"1013 世界保健日 國際教師節",
"1014 世界標准日",
"1015 國際盲人節(白手杖節)",
"1016 世界糧食日",
"1017 世界消除貧困日",
"1022 世界傳統醫葯日",
"1024 聯合國日",
"1031 世界勤儉日",
"1107 十月社會主義革命紀念日",
"1108 中國記者日",
"1109 全國消防安全宣傳教育日",
"1110 世界青年節",
"1111 國際科學與和平周(本日所屬的一周)",
"1112 孫中山誕辰紀念日",
"1114 世界糖尿病日",
"1117 國際大學生節 世界學生節",
"1120*彝族年",
"1121*彝族年 世界問候日 世界電視日",
"1122*彝族年",
"1129 國際聲援巴勒斯坦人民國際日",
"1201 世界艾滋病日",
"1203 世界殘疾人日",
"1205 國際經濟和社會發展志願人員日",
"1208 國際兒童電視日",
"1209 世界足球日",
"1210 世界人權日",
"1212 西安事變紀念日",
"1213 南京大屠殺(1937年)紀念日!緊記血淚史!",
"1220 澳門回歸紀念",
"1221 國際籃球日",
"1224 平安夜",
"1225 聖誕節",
"1226 毛澤東誕辰紀念")
//農歷節日 *表示放假日
var lFtv = new Array(
"0101*春節",
"0102*初二",
"0103*初三",
"0115 元宵節",
"0505 端午節",
"0707 七夕情人節",
"0715 中元節",
"0815 中秋節",
"0909 重陽節",
"1208 臘八節",
"1223 小年",
"0100 除夕")
//某月的第幾個星期幾
var wFtv = new Array(
"0150 世界麻風日", //一月的最後一個星期日(月倒數第一個星期日)
"0520 國際母親節",
"0530 全國助殘日",
"0630 父親節",
"0730 被奴役國家周",
"0932 國際和平日",
"0940 國際聾人節 世界兒童日",
"0950 世界海事日",
"1011 國際住房日",
"1013 國際減輕自然災害日(減災日)",
"1144 感恩節")
/*****************************************************************************
日期計算
*****************************************************************************/
//====================================== 返回農歷 y年的總天數
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));
}
//====================================== 返回農歷 y年閏月的天數
function leapDays(y) {
if(leapMonth(y)) return((lunarInfo[y-1900] & 0x10000)? 30: 29);
else return(0);
}
//====================================== 返回農歷 y年閏哪個月 1-12 , 沒閏返回 0
function leapMonth(y) {
return(lunarInfo[y-1900] & 0xf);
}
//====================================== 返回農歷 y年m月的總天數
function monthDays(y,m) {
return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 );
}
//====================================== 算出農歷, 傳入日期控制項, 返回農歷日期控制項
// 該控制項屬性有 .year .month .day .isLeap
function Lunar(objDate) {
var i, leap=0, temp=0;
var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000;
for(i=1900; i<2050 && offset>0; i++) { temp=lYearDays(i); offset-=temp; }
if(offset<0) { offset+=temp; i--; }
this.year = i;
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(offset==0 && leap>0 && i==leap+1)
if(this.isLeap)
{ this.isLeap = false; }
else
{ this.isLeap = true; --i; }
if(offset<0){ offset += temp; --i; }
this.month = i;
this.day = offset + 1;
}
//==============================返回公歷 y年某m+1月的天數
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,cYear,cMonth,cDay) {
this.isToday = false;
//瓣句
this.sYear = sYear; //公元年4位數字
this.sMonth = sMonth; //公元月數字
this.sDay = sDay; //公元日數字
this.week = week; //星期, 1個中文
//農歷
this.lYear = lYear; //公元年4位數字
this.lMonth = lMonth; //農歷月數字
this.lDay = lDay; //農歷日數字
this.isLeap = isLeap; //是否為農歷閏月?
//八字
this.cYear = cYear; //年柱, 2個中文
this.cMonth = cMonth; //月柱, 2個中文
this.cDay = cDay; //日柱, 2個中文
this.color = '';
this.lunarFestival = ''; //農歷節日
this.solarFestival = ''; //公歷節日
this.solarTerms = ''; //節氣
}
//===== 某年的第n個節氣為幾日(從0小寒起算)
function sTerm(y,n) {
var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) );
return(offDate.getUTCDate());
}
//============================== 返回陰歷控制項 (y年,m+1月)
/*
功能說明: 返回整個月的日期資料控制項
使用方式: OBJ = new calendar(年,零起算月);
OBJ.length 返回當月最大日
OBJ.firstWeek 返回當月一日星期
由 OBJ[日期].屬性名稱 即可取得各項值
OBJ[日期].isToday 返回是否為今日 true 或 false
其他 OBJ[日期] 屬性參見 calElement() 中的註解
*/
function calendar(y,m) {
var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2, tmp3;
var cY, cM, cD; //年柱,月柱,日柱
var lDPOS = new Array(3);
var n = 0;
var firstLM = 0;
sDObj = new Date(y,m,1,0,0,0,0); //當月一日日期
this.length = solarDays(y,m); //公歷當月天數
this.firstWeek = sDObj.getDay(); //公歷當月1日星期幾
////////年柱 1900年立春後為庚子年(60進制36)
if(m<2) cY=cyclical(y-1900+36-1);
else cY=cyclical(y-1900+36);
var term2=sTerm(y,2); //立春日期
////////月柱 1900年1月小寒以前為 丙子月(60進制12)
var firstNode = sTerm(y,m*2) //返回當月「節」為幾日開始
cM = cyclical((y-1900)*12+m+12);
//當月一日與 1900/1/1 相差天數
//1900/1/1與 1970/1/1 相差25567日, 1900/1/1 日柱為甲戌日(60進制10)
var dayCyclical = Date.UTC(y,m,1,0,0,0,0)/86400000+25567+10;
for(var i=0;i<this.length;i++) {
if(lD>lX) {
sDObj = new Date(y,m,i+1); //當月一日日期
lDObj = new Lunar(sDObj); //農歷
lY = lDObj.year; //農歷年
lM = lDObj.month; //農歷月
lD = lDObj.day; //農歷日
lL = lDObj.isLeap; //農歷是否閏月
lX = lL? leapDays(lY): monthDays(lY,lM); //農歷當月最後一天
if(n==0) firstLM = lM;
lDPOS[n++] = i-lD+1;
}
//依節氣調整二月分的年柱, 以立春為界
if(m==1 && (i+1)==term2) cY=cyclical(y-1900+36);
//依節氣月柱, 以「節」為界
if((i+1)==firstNode) cM = cyclical((y-1900)*12+m+13);
//日柱
cD = cyclical(dayCyclical+i);
//sYear,sMonth,sDay,week,
//lYear,lMonth,lDay,isLeap,
//cYear,cMonth,cDay
this[i] = new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],
lY, lM, lD++, lL,
cY ,cM, cD );
}
//節氣
tmp1=sTerm(y,m*2 )-1;
tmp2=sTerm(y,m*2+1)-1;
this[tmp1].solarTerms = solarTerm[m*2];
this[tmp2].solarTerms = solarTerm[m*2+1];
if(m==3) this[tmp1].color = 'red'; //清明顏色
//公歷節日
for(i in sFtv)
if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))
if(Number(RegExp.$1)==(m+1)) {
this[Number(RegExp.$2)-1].solarFestival += RegExp.$4 + ' ';
if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color = 'red';
}
//月周節日
for(i in wFtv)
if(wFtv[i].match(/^(\d{2})(\d)(\d)([\s\*])(.+)$/))
if(Number(RegExp.$1)==(m+1)) {
tmp1=Number(RegExp.$2);
tmp2=Number(RegExp.$3);
if(tmp1<5)
this[((this.firstWeek>tmp2)?7:0) + 7*(tmp1-1) + tmp2 - this.firstWeek].solarFestival += RegExp.$5 + ' ';
else {
tmp1 -= 5;
tmp3 = (this.firstWeek+this.length-1)%7; //當月最後一天星期?
this[this.length - tmp3 - 7*tmp1 + tmp2 - (tmp2>tmp3?7:0) - 1 ].solarFestival += RegExp.$5 + ' ';
}
}
//農歷節日
for(i in lFtv)
if(lFtv[i].match(/^(\d{2})(.{2})([\s\*])(.+)$/)) {
tmp1=Number(RegExp.$1)-firstLM;
if(tmp1==-11) tmp1=1;
if(tmp1 >=0 && tmp1<n) {
tmp2 = lDPOS[tmp1] + Number(RegExp.$2) -1;
if( tmp2 >= 0 && tmp2<this.length && this[tmp2].isLeap!=true) {
this[tmp2].lunarFestival += RegExp.$4 + ' ';
if(RegExp.$3=='*') this[tmp2].color = 'red';
}
}
}
//復活節只出現在3或4月
if(m==2 || m==3) {
var estDay = new easter(y);
if(m == estDay.m)
this[estDay.d-1].solarFestival = this[estDay.d-1].solarFestival+' 復活節 Easter Sunday';
}
if(m==2) this[20].solarFestival = this[20].solarFestival+unescape('%20%u6D35%u8CE2%u751F%u65E5');
//黑色星期五
if((this.firstWeek+12)%7==5)
this[12].solarFestival += '黑色星期五';
//今日
if(y==tY && m==tM) this[tD-1].isToday = true;
}
//======================================= 返回該年的復活節(春分後第一次滿月周後的第一主日)
function easter(y) {
var term2=sTerm(y,5); //取得春分日期
var dayTerm2 = new Date(Date.UTC(y,2,term2,0,0,0,0)); //取得春分的公歷日期控制項(春分一定出現在3月)
var lDayTerm2 = new Lunar(dayTerm2); //取得取得春分農歷
if(lDayTerm2.day<15) //取得下個月圓的相差天數
var lMlen= 15-lDayTerm2.day;
else
var lMlen= (lDayTerm2.isLeap? leapDays(y): monthDays(y,lDayTerm2.month)) - lDayTerm2.day + 15;
//一天等於 1000*60*60*24 = 86400000 毫秒
var l15 = new Date(dayTerm2.getTime() + 86400000*lMlen ); //求出第一次月圓為公歷幾日
var dayEaster = new Date(l15.getTime() + 86400000*( 7-l15.getUTCDay() ) ); //求出下個周日
this.m = dayEaster.getUTCMonth();
this.d = dayEaster.getUTCDate();
}
//====================== 中文日期
function cDay(d){
var s;
switch (d) {
case 10:
s = '初十'; break;
case 20:
s = '二十'; break;
break;
case 30:
s = '三十'; break;
break;
default :
s = nStr2[Math.floor(d/10)];
s += nStr1[d%10];
}
return(s);
}
///////////////////////////////////////////////////////////////////////////////
var cld;
function drawCld(SY,SM) {
var i,sD,s,size;
cld = new calendar(SY,SM);
if(SY>1874 && SY<1909) yDisplay = '光緒' + (((SY-1874)==1)?'元':SY-1874);
if(SY>1908 && SY<1912) yDisplay = '宣統' + (((SY-1908)==1)?'元':SY-1908);
if(SY>1911) yDisplay = '建國' + (((SY-1949)==1)?'元':SY-1949);
GZ.innerHTML = yDisplay +'年 農歷 ' + cyclical(SY-1900+36) + '年 【'+Animals[(SY-4)%12]+'年】';
YMBG.innerHTML = "" + SY + "<BR>" + monthName[SM];
for(i=0;i<42;i++) {
sObj=eval('SD'+ i);
lObj=eval('LD'+ i);
sObj.className = '';
sD = i - cld.firstWeek;
if(sD>-1 && sD<cld.length) { //日期內
sObj.innerHTML = sD+1;
if(cld[sD].isToday) sObj.className = 'todyaColor'; //今日顏色
sObj.style.color = cld[sD].color; //法定假日顏色
if(cld[sD].lDay==1) //顯示農歷月
lObj.innerHTML = '<b>'+(cld[sD].isLeap?'閏':'') + cld[sD].lMonth + '月' + (monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'</b>';
else //顯示農歷日
lObj.innerHTML = cDay(cld[sD].lDay);
s=cld[sD].lunarFestival;
if(s.length>0) { //農歷節日
if(s.length>6) s = s.substr(0, 4)+'...';
s = s.fontcolor('red');
}
else { //公歷節日
s=cld[sD].solarFestival;
if(s.length>0) {
size = (s.charCodeAt(0)>0 && s.charCodeAt(0)<128)?8:4;
if(s.length>size+2) s = s.substr(0, size)+'...';
s=(s=='黑色星期五')?s.fontcolor('black'):s.fontcolor('blue');
}
else { //廿四節氣
s=cld[sD].solarTerms;
if(s.length>0) s = s.fontcolor('limegreen');
}
}
if(cld[sD].solarTerms=='清明') s = '清明節'.fontcolor('red');
if(cld[sD].solarTerms=='芒種') s = '芒種節'.fontcolor('red');
if(cld[sD].solarTerms=='夏至') s = '夏至節'.fontcolor('red');
if(cld[sD].solarTerms=='冬至') s = '冬至節'.fontcolor('red');
if(s.length>0) lObj.innerHTML = s;
}
else { //非日期
sObj.innerHTML = '';
lObj.innerHTML = '';
}
}
}
function changeCld() {
var y,m;
y=CLD.SY.selectedIndex+1900;
m=CLD.SM.selectedIndex;
drawCld(y,m);
}
function pushBtm(K) {
switch (K){
case 'YU' :
if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
break;
case 'YD' :
if(CLD.SY.selectedIndex<150) CLD.SY.selectedIndex++;
break;
case 'MU' :
if(CLD.SM.selectedIndex>0) {
CLD.SM.selectedIndex--;
}
else {
CLD.SM.selectedIndex=11;
if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;
}
break;
case 'MD' :
if(CLD.SM.selectedIndex<11) {
CLD.SM.selectedIndex++;
}
else {
CLD.SM.selectedIndex=0;
if(CLD.SY.selectedIndex<150) CLD.SY.selectedIndex++;
}
break;
default :
CLD.SY.selectedIndex=tY-1900;
CLD.SM.selectedIndex=tM;
}
changeCld();
}
var Today = new Date();
var tY = Today.getFullYear();
var tM = Today.getMonth();
var tD = Today.getDate();
//////////////////////////////////////////////////////////////////////////////
var width = "130";
var offsetx = 2;
var offsety = 8;
var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;
var dStyle;
document.onmousemove = mEvn;
//顯示詳細日期資料
function mOvr(v) {
var s,festival;
var sObj=eval('SD'+ v);
var d=sObj.innerHTML-1;
//sYear,sMonth,sDay,week,
//lYear,lMonth,lDay,isLeap,
//cYear,cMonth,cDay
if(sObj.innerHTML!='') {
sObj.style.cursor = 's-resize';
if(cld[d].solarTerms == '' && cld[d].solarFestival == '' && cld[d].lunarFestival == '')
festival = '';
else
festival = '<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#CCFFCC"><TR><TD>'+
'<FONT COLOR="#000000" STYLE="font-size:9pt;">'+cld[d].solarTerms + ' ' + cld[d].solarFestival + ' ' + cld[d].lunarFestival+'</FONT></TD>'+
'</TR></TABLE>';
s= '<TABLE WIDTH="130" BORDER=0 CELLPADDING="2" CELLSPACING=0 BGCOLOR="#000066" style="filter:Alpha(opacity=80)"><TR><TD>' +
'<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ALIGN="right"><FONT COLOR="#ffffff" STYLE="font-size:9pt;">'+
cld[d].sYear+' 年 '+cld[d].sMonth+' 月 '+cld[d].sDay+' 日<br>星期'+cld[d].week+'<br>'+
'<font color="violet">農歷'+(cld[d].isLeap?'閏 ':' ')+cld[d].lMonth+' 月 '+cld[d].lDay+' 日</font><br>'+
'<font color="yellow">'+cld[d].cYear+'年 '+cld[d].cMonth+'月 '+cld[d].cDay + '日</font>'+
'</FONT></TD></TR></TABLE>'+ festival +'</TD></TR></TABLE>';
document.all["detail"].innerHTML = s;
if (snow == 0) {
dStyle.left = x+offsetx-(width/2);
dStyle.top = y+offsety;
dStyle.visibility = "visible";
snow = 1;
}
}
}
//清除詳細日期資料
function mOut() {
if ( cnt >= 1 ) { sw = 0; }
if ( sw == 0 ) { snow = 0; dStyle.visibility = "hidden";}
else cnt++;
}
//取得位置
function mEvn() {
x=event.x;
y=event.y;
if (document.body.scrollLeft)
{x=event.x+document.body.scrollLeft; y=event.y+document.body.scrollTop;}
if (snow){
dStyle.left = x+offsetx-(width/2);
dStyle.top = y+offsety;
}
}
///////////////////////////////////////////////////////////////////////////
function changeTZ() {
CITY.innerHTML = CLD.TZ.value.substr(6)
setCookie("TZ",CLD.TZ.selectedIndex)
}
function tick() {
var today
today = new Date()
Clock.innerHTML = today.toLocaleString()
Clock2.innerHTML = TimeAdd(today.toGMTString(), CLD.TZ.value)
window.setTimeout("tick()", 1000);
}
function setCookie(name, value) {
var today = new Date()
var expires = new Date()
expires.setTime(today.getTime() + 1000*60*60*24*365)
document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString()
}
function getCookie(Name) {
var search = Name + "="
if(document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if(offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if(end == -1) end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
Ⅳ 求Java萬年歷源代碼!!!
這個我會~~
import java.io.*;
class putout{
public void putout(int f,int x,int y){
int i;
int a[]= new int[40];
System.out.println(" 日 一 二 三 四 五 六 "+" "+f+"月");
for (i=0;i<x;i++)
{System.out.print(" "); }
for(i=x;i<x+y;i++)
a[i]=i-x+1;
for(i=x;i<x+y;i++)
{
if ((i%7==0)&&(i>0))
System.out.print("\n");
if (a[i]<10)
System.out.print(" "+a[i]);
else System.out.print(" "+a[i]);
}
System.out.println("\n");
}
}
class st{
public static void main(String args[])throws IOException{
putout p=new putout();
int year,mouth,y=1,t,i;
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
System.out.print("請輸入一個年份:");
String s=in.readLine();
year=Integer.parseInt(s);
if((year%4==0 && year%100!=0)||(year%400==0))
mouth=1;
else
mouth=0;
y=year;
for(i=1;i<year;i++)
{if((i%4==0 && i%100!=0)||(i%400==0))
y++;}
y=y%7;
for(i=1;i<13;i++){
switch(i){
case 1: {p.putout(1,y,31);y=(y+31)%7;break;}
case 2: {p.putout(2,y,28+mouth);y=(y+28+mouth)%7;break;}
case 3: {p.putout(3,y,31);y=(y+31)%7;break;}
case 4: {p.putout(4,y,30);y=(y+30)%7;break;}
case 5: {p.putout(5,y,31);y=(y+31)%7;break;}
case 6: {p.putout(6,y,30);y=(y+30)%7;break;}
case 7: {p.putout(7,y,31);y=(y+31)%7;break;}
case 8: {p.putout(8,y,31);y=(y+31)%7;break;}
case 9: {p.putout(9,y,30);y=(y+30)%7;break;}
case 10: {p.putout(10,y,31);y=(y+31)%7;break;}
case 11: {p.putout(11,y,30);y=(y+30)%7;break;}
case 12: {p.putout(12,y,31);y=(y+31)%7;break;}
}
}
}
}
Ⅳ 求 網頁日歷代碼
這個網站上有源代碼,你可以先將它拷下來存在一個文本文件,然後將後綴改成.HTML,而後點擊這個HTML就可以運行了,不過彈出的網頁要點擊IE上面的黃色的東西,讓IE允許執行JAVASCRIPT腳本,才能看見!如果看不到的話你就發一個EMAIL過來
Ⅵ 對於單身上班狗而言,七夕和周一,哪個更難過
習慣被虐的單身狗痛訴,自己總是在七夕被打出暴擊;每天加班忙碌的互聯網人冷笑,那是你沒享受過case如尿崩的周一。幸福的人都是相似的,不幸的人卻各有各的不幸。
又傷身,又傷心,最慘莫過單身it狗的今天,剛掛了媽媽關心催婚的電話,又收到上司不懷好意的「在嗎」,去年買的那盒杜蕾斯,時至如今還沒開封哪。。。
你說,七夕和周一,哪個更難過?