首页 新闻 会员 周边 捐助

javascript时间段怎么显示

0
悬赏园豆:20 [已解决问题] 解决于 2012-07-06 10:59

需要实现跟这个页面的一样的 http://60.191.198.108/tablemonitor/frame.asp 降雨量的时间,随着我们客户端的时间而改变.只需要实现12小时之内的时间就行了。

如图:

当客户端时间为8时 时

当客户端时间为23时 时

当客户端时间为22时 时

 

等等。如果我客户端的时间为8时,那么降雨量将显示8时-21时的时间段。同理其他的也是一样的,如果时间为9时时,那么降雨量显示的是9时-22时的时间段,客户端每增加一小时,那么降雨量显示也跟着每增加一小时,昨天的时间就跟着减一小时。

 

这个问题纠结了N久了还没有解决。请高手帮忙解决解决。

doubledu的主页 doubledu | 初学一级 | 园豆:199
提问于:2012-07-06 09:04
< >
分享
最佳答案
0

HTML:

<table>
  <tr><td colspan="14">降雨量</td></tr>
  <tr id="trd">
    <td>昨日雨量</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</table>

JS:

var timeArr=[];
var hour=(new Date()).getHours();
for(var i=0;i<12;i++){
  if(hour-i>=0){
    timeArr.push(hour-i);
  }
  else{
    timeArr.push(hour-i+24);
  }
}
var tds=document.getElementById("trd").getElementsByTagName("td");
tds[1].innerHTML=timeArr[0]+"时-现在";
for(var i=0,l=tds.length;i<l;i++){
  if(timeArr[i]-1<0){
    tds[i+2].innerHTML=(timeArr[i]-1+24)+"-"+timeArr[i]+"时";
  }
  else{
    tds[i+2].innerHTML=(timeArr[i]-1)+"-"+timeArr[i]+"时";
  }
}

效果:http://jscode.chinacxy.com/code/1588082f56582a7b23c1883581c0255b.aspx

收获园豆:20
artwl | 专家六级 |园豆:16736 | 2012-07-06 09:53

问题已解决,谢谢!

doubledu | 园豆:199 (初学一级) | 2012-07-06 10:57
其他回答(2)
0

客户端为8时,对应时段:8-21  也就是:8+13=21

客户端为23,对应时段:23-12 也就是:23+13-24=12

得出个公式:(x+13-24)>0:(x+13-24):x+13; //x为客户端时间

kuangkro | 园豆:241 (菜鸟二级) | 2012-07-06 09:25

谢谢

支持(0) 反对(0) doubledu | 园豆:199 (初学一级) | 2012-07-06 10:59
0

动态拼装SQL查数据,然后动态拼装table的html代码。

心未鳴 | 园豆:223 (菜鸟二级) | 2012-07-06 10:03

呵呵,这种方法没有试过,谢谢你给你提议。

支持(0) 反对(0) doubledu | 园豆:199 (初学一级) | 2012-07-06 10:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册