js天気、日付、時間

11072 ワード

今日は会社のトップページで天気と日付と時間のページを作りました.効果図は以下の通りです.

コードは以下の通りです
//****天気プラグインリンクコード(http://www.thinkpage.cn/weather/widget.aspxカスタマイズします.***/
<iframe src="http://www.thinkpage.cn/weather/weather.aspx?uid=&c=CHXX0037&l=zh-CHS&p=CMA&a=0&u=C&s=31&m=1&x=1&d=3&fc=FFFFFF&bgc=&bc=&ti=1&in=1&li=2&ct=iframe" frameborder="0" scrolling="no" width="660" height="80" allowTransparency="true">
</iframe>
//****中国天気網にも良いプラグインがあります.住所は以下の通りです.http://service.weather.com.cn/plugin/index.shtml
//現在の年を取得する  月
function Year_Month(){ 
		var now = new Date(); 
		var yy = now.getYear(); 
		var mm = now.getMonth()+1; 
		return(yy + ' ' + mm + ' '); 
	} 
	[b]//     [/b]	function Date_of_Today(){ 
		var now = new Date(); 
		return(now.getDate()+' '); 
	} 
	[b]//      [/b]	
	function Day_of_Today(){ 
		var day = new Array(); 
		day[0] = "   "; 
		day[1] = "   "; 
		day[2] = "   "; 
		day[3] = "   "; 
		day[4] = "   "; 
		day[5] = "   "; 
		day[6] = "   "; 
		var now = new Date(); 
		return(day[now.getDay()]); 
	} 
	[b]//      [/b]	
function CurentTime(){ 
		var now = new Date(); 
		var hh = now.getHours(); 
		var mm = now.getMinutes(); 
		var ss = now.getTime() % 60000; 
		ss = (ss - (ss % 1000)) / 1000; 
		var clock = hh+':'; 
		if (mm < 10) clock += '0'; 
		clock += mm+':'; 
		if (ss < 10) clock += '0'; 
		clock += ss; 
		return(clock); 
	}  
	[b]//*************  [/b]
	function RunGLNL(){
		var today=new Date();
		var d=new Array("  ","  ","  ","  ","  ","  ","  ");
		var DDDD= d[today.getDay()];
		DDDD = DDDD+ " " + (CnDateofDateStr(today)); //    
		DDDD = DDDD+SolarTerm(today); //       
		document.write(DDDD);
	}
	function DaysNumberofDate(DateGL){
		return parseInt((Date.parse(DateGL)-Date.parse(DateGL.getFullYear()+"/1/1"))/86400000)+1;
	}
	function CnDateofDate(DateGL){
		var CnData=new Array(
		0x16,0x2a,0xda,0x00,0x83,0x49,0xb6,0x05,0x0e,0x64,0xbb,0x00,0x19,0xb2,0x5b,0x00,
		0x87,0x6a,0x57,0x04,0x12,0x75,0x2b,0x00,0x1d,0xb6,0x95,0x00,0x8a,0xad,0x55,0x02,
		0x15,0x55,0xaa,0x00,0x82,0x55,0x6c,0x07,0x0d,0xc9,0x76,0x00,0x17,0x64,0xb7,0x00,
		0x86,0xe4,0xae,0x05,0x11,0xea,0x56,0x00,0x1b,0x6d,0x2a,0x00,0x88,0x5a,0xaa,0x04,
		0x14,0xad,0x55,0x00,0x81,0xaa,0xd5,0x09,0x0b,0x52,0xea,0x00,0x16,0xa9,0x6d,0x00,
		0x84,0xa9,0x5d,0x06,0x0f,0xd4,0xae,0x00,0x1a,0xea,0x4d,0x00,0x87,0xba,0x55,0x04
	);
	var CnMonth=new Array();
	var CnMonthDays=new Array();
	var CnBeginDay;
	var LeapMonth;
	var Bytes=new Array();
	var I;
	var CnMonthData;
	var DaysCount;
	var CnDaysCount;
	var ResultMonth;
	var ResultDay;
	var yyyy=DateGL.getFullYear();
	var mm=DateGL.getMonth()+1;
	var dd=DateGL.getDate();
	if(yyyy<100) yyyy+=1900;
	  if ((yyyy < 1997) || (yyyy > 2020)){
	    return 0;
	    }
	  Bytes[0] = CnData[(yyyy - 1997) * 4];
	  Bytes[1] = CnData[(yyyy - 1997) * 4 + 1];
	  Bytes[2] = CnData[(yyyy - 1997) * 4 + 2];
	  Bytes[3] = CnData[(yyyy - 1997) * 4 + 3];
	  if ((Bytes[0] & 0x80) != 0) {CnMonth[0] = 12;}
	  else {CnMonth[0] = 11;}
	  CnBeginDay = (Bytes[0] & 0x7f);
	  CnMonthData = Bytes[1];
	  CnMonthData = CnMonthData << 8;
	  CnMonthData = CnMonthData | Bytes[2];
	  LeapMonth = Bytes[3];
	for (I=15;I>=0;I--){
	    CnMonthDays[15 - I] = 29;
	    if (((1 << I) & CnMonthData) != 0 ){
	      CnMonthDays[15 - I]++;}
	    if (CnMonth[15 - I] == LeapMonth ){
	      CnMonth[15 - I + 1] = - LeapMonth;}
	    else{
	      if (CnMonth[15 - I] < 0 ){CnMonth[15 - I + 1] = - CnMonth[15 - I] + 1;}
	      else {CnMonth[15 - I + 1] = CnMonth[15 - I] + 1;}
	      if (CnMonth[15 - I + 1] > 12 ){ CnMonth[15 - I + 1] = 1;}
	    }
	  }
	  DaysCount = DaysNumberofDate(DateGL) - 1;
	  if (DaysCount <= (CnMonthDays[0] - CnBeginDay)){
	    if ((yyyy > 1901) && (CnDateofDate(new Date((yyyy - 1)+"/12/31")) < 0)){
	      ResultMonth = - CnMonth[0];}
	    else {ResultMonth = CnMonth[0];}
	    ResultDay = CnBeginDay + DaysCount;
	  }
	  else{
	    CnDaysCount = CnMonthDays[0] - CnBeginDay;
	    I = 1;
	    while ((CnDaysCount < DaysCount) && (CnDaysCount + CnMonthDays[I] < DaysCount)){
	      CnDaysCount+= CnMonthDays[I];
	      I++;
	    }
	    ResultMonth = CnMonth[I];
	    ResultDay = DaysCount - CnDaysCount;
	  }
	  if (ResultMonth > 0){
	    return ResultMonth * 100 + ResultDay;}
	  else{return ResultMonth * 100 - ResultDay;}
	}
	[b]// [/b]	
function CnYearofDate(DateGL){
		var YYYY=DateGL.getFullYear();
		var MM=DateGL.getMonth()+1;
		var CnMM=parseInt(Math.abs(CnDateofDate(DateGL))/100);
		if(YYYY<100) YYYY+=1900;
		if(CnMM>MM) YYYY--;
		YYYY-=1864;
		return CnEra(YYYY)+" ";
	}
	[b]// [/b]	
function CnMonthofDate(DateGL){
		var  CnMonthStr=new Array(" "," "," "," "," "," "," "," "," "," "," "," "," ");
		var  Month;
	  	Month = parseInt(CnDateofDate(DateGL)/100);
	  	if (Month < 0){
	  		return " " + CnMonthStr[-Month] + " ";
	  	}
	  	else{
	  		return CnMonthStr[Month] + " ";
	  	}
	}
	[b]// [/b]	
function CnDayofDate(DateGL){
		var CnDayStr=new Array(" ",
	    "  ", "  ", "  ", "  ", "  ",
	    "  ", "  ", "  ", "  ", "  ",
	    "  ", "  ", "  ", "  ", "  ",
	    "  ", "  ", "  ", "  ", "  ",
	    "  ", "  ", "  ", "  ", "  ",
	    "  ", "  ", "  ", "  ", "  ");
		var Day;
	  	Day = (Math.abs(CnDateofDate(DateGL)))%100;
	  	return CnDayStr[Day];
	}
	function DaysNumberofMonth(DateGL){
		var MM1=DateGL.getFullYear();
	    MM1<100 ? MM1+=1900:MM1;
		var MM2=MM1;
	    MM1+="/"+(DateGL.getMonth()+1);
	    MM2+="/"+(DateGL.getMonth()+2);
	    MM1+="/1";
	    MM2+="/1";
		return parseInt((Date.parse(MM2)-Date.parse(MM1))/86400000);
	}
	function CnEra(YYYY){
		var Tiangan=new Array(" "," "," "," "," "," "," "," "," "," ");
		//var Dizhi=new Array(" ( )"," ( )"," ( )"," ( )"," ( )"," ( )",
	                    //" ( )"," ( )"," ( )"," ( )"," ( )"," ( )");
		var Dizhi=new Array(" "," "," "," "," "," "," "," "," "," "," "," ");
		return Tiangan[YYYY%10]+Dizhi[YYYY%12];
	}
	[b]//   [/b]
	function CnDateofDateStr(DateGL){
		if(CnMonthofDate(DateGL)=="  ") 
		return "           !";
		else 
		return "  "+CnYearofDate(DateGL)+ " " + CnMonthofDate(DateGL) + CnDayofDate(DateGL);
	}
	[b]//     [/b]	
function SolarTerm(DateGL){
	  var SolarTermStr=new Array(
	        "  ","  ","  ","  ","  ","  ",
	        "  ","  ","  ","  ","  ","  ",
	        "  ","  ","  ","  ","  ","  ",
	        "  ","  ","  ","  ","  ","  ");
	  var DifferenceInMonth=new Array(
	        1272060,1275495,1281180,1289445,1299225,1310355,
	        1321560,1333035,1342770,1350855,1356420,1359045,
	        1358580,1355055,1348695,1340040,1329630,1318455,
	        1306935,1297380,1286865,1277730,1274550,1271556);
	  var DifferenceInYear=31556926;
	  var BeginTime=new Date(1901/1/1);
	  BeginTime.setTime(947120460000);
	     for(;DateGL.getFullYear()<BeginTime.getFullYear();){
	        BeginTime.setTime(BeginTime.getTime()-DifferenceInYear*1000);
	     }
	     for(;DateGL.getFullYear()>BeginTime.getFullYear();){
	        BeginTime.setTime(BeginTime.getTime()+DifferenceInYear*1000);
	     }
	     for(var M=0;DateGL.getMonth()>BeginTime.getMonth();M++){
	        BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
	     }
	     if(DateGL.getDate()>BeginTime.getDate()){
	        BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
	        M++;
	     }
	     if(DateGL.getDate()>BeginTime.getDate()){
	        BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
	        M==23?M=0:M++;
	     }
	  var JQ="";
	  if(DateGL.getDate()==BeginTime.getDate()){
	    JQ+="       <font color='#598F03'><b>"+SolarTermStr[M] + "</b></font>";
	  }
	  else if(DateGL.getDate()==BeginTime.getDate()-1){
	    JQ+="     <font color='#598F03'><b>"+SolarTermStr[M] + "</b></font>";
	  }
	  else if(DateGL.getDate()==BeginTime.getDate()-2){
	    JQ+="     <font color='#598F03'><b>"+SolarTermStr[M] + "</b></font>";
	  }
	  else{
	   JQ="";
	   if(DateGL.getMonth()==BeginTime.getMonth()){
	      JQ+="   ";
	   }
	   else{
	     JQ+="   ";
	   }
	   JQ+=BeginTime.getDate()+" "+"<font color='#598F03'><b>"+SolarTermStr[M]+"</b></font>";
	  }
		return JQ;
	}
具体的な組み合わせはあなた次第です.