js 天气、日期、时间

今天在公司首页做了个天气、日期和时间的页面,效果图如下:
[img]http://dl.iteye.com/upload/picture/pic/75293/92cfc552-cb8c-37c1-a381-d875a6e09132.jpg[/img]

[b]代码如下:[/b]
[b]/****天气插件链接代码(可在http://www.thinkpage.cn/weather/widget.aspx自己个性化定制)*****/[/b]
<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>

[b]/***中国天气网也有不错的插件,地址如下:****/[/b]http://service.weather.com.cn/plugin/index.shtml


[b]//获取当前年 月[/b]
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;
}



具体如何组合就看你自己的了.^_^
以下是一个使用JavaScript获取时间天气日期和农历,并在页面上显示问候语的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>问候语</title> <script src="https://cdn.jsdelivr.net/npm/chinesey/dist/chinesey.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> </head> <body> <div id="greeting"></div> <div id="time"></div> <div id="weather"></div> <div id="date"></div> <div id="lunarDate"></div> <script> // 获取当前时间 function getTimeString() { var now = new Date(); return now.getHours() + ':' + (now.getMinutes() < 10 ? '0' : '') + now.getMinutes(); } // 获取当前天气 function getWeather() { var url = 'https://api.openweathermap.org/data/2.5/weather?q=Shanghai&appid=YOUR_API_KEY&units=metric&lang=zh_cn'; axios.get(url).then(function(response) { var weatherDiv = document.getElementById('weather'); var description = response.data.weather[0].description; var temperature = response.data.main.temp; var weatherString = description + ',' + temperature + '℃'; weatherDiv.innerHTML = weatherString; }); } // 获取当前日期 function getDateString() { var now = new Date(); return now.getFullYear() + '年' + (now.getMonth() + 1) + '月' + now.getDate() + '日'; } // 获取当前农历日期 function getLunarDateString() { var now = new Date(); var lunarDate = chinesey.lunar.solarToLunar(now.getFullYear(), now.getMonth() + 1, now.getDate()); return '农历' + lunarDate.year + '年' + lunarDate.month + '月' + lunarDate.day; } // 显示问候语 function showGreeting() { var hour = new Date().getHours(); var greetingDiv = document.getElementById('greeting'); if (hour < 6) { greetingDiv.innerHTML = '凌晨好!'; } else if (hour < 9) { greetingDiv.innerHTML = '早上好!'; } else if (hour < 12) { greetingDiv.innerHTML = '上午好!'; } else if (hour < 14) { greetingDiv.innerHTML = '中午好!'; } else if (hour < 17) { greetingDiv.innerHTML = '下午好!'; } else if (hour < 19) { greetingDiv.innerHTML = '傍晚好!'; } else if (hour < 22) { greetingDiv.innerHTML = '晚上好!'; } else { greetingDiv.innerHTML = '夜里好!'; } } // 更新时间天气日期和农历日期 function update() { var timeDiv = document.getElementById('time'); timeDiv.innerHTML = getTimeString(); getWeather(); var dateDiv = document.getElementById('date'); dateDiv.innerHTML = getDateString(); var lunarDateDiv = document.getElementById('lunarDate'); lunarDateDiv.innerHTML = getLunarDateString(); } // 定时更新页面 setInterval(update, 1000); // 显示问候语 showGreeting(); </script> </body> </html> ``` 这段代码会每隔1秒钟更新一次时间天气日期和农历日期,并在页面上显示问候语。使用OpenWeatherMap的API可以获取当前天气,使用Chinesey库可以获取当前农历日期。根据当前时间,显示不同的问候语。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值