首页新闻找找看学习计划

javascript时间显示问题

0
悬赏园豆:5 [已关闭问题] 关闭于 2012-11-30 11:56

还有需要把时间的顺序倒过来。如现在需要实现成这样的:

8时至今 2012年11月28日
(20-21时)
2012年11月28日
(21-22时)
2012年11月28日
(22-23时)
2012年11月28日
(23-0时)
2012年11月29日
(0-1时)
2012年11月29日
(1-2时)
2012年11月29日
(2-3时)
2012年11月29日
(3-4时)
2012年11月29日
(4-5时)
2012年11月29日
(5-6时)
2012年11月29日
(6-7时)
2012年11月29日
(7-8时)

html代码如下:

<table width="1056" border="1" align="center" cellPadding="0" cellSpacing="0" borderColorLight="#009999" borderColorDark="#ffffff" bgColor="#DAEBF8">
 <tr style="font-size:12px;">
   <td width="72" rowspan="2"><div align="center">所属地</div></td>
   <td width="67" rowspan="2" ><div align="center">名称</div></td>
   <td height="20" colspan="13" bgcolor="DAEBF8"><div align="center">降雨量(12小时段)</div></td>
  </tr>
 <tr style="font-size:12px;" id="trd">
    <td height="20" width="54" align="center"></td> 
    <td height="20" width="54" align="center"></td>  
    <td height="20" width="53" align="center"></td>
    <td height="20" width="69" align="center"></td> 
    <td height="20" width="54" align="center"></td>  
    <td height="20" width="68" align="center"></td>  
    <td height="20" width="55" align="center"></td>  
    <td height="20" width="54" align="center"></td>  
    <td height="20" width="52" align="center"></td>  
    <td height="20" width="68" align="center"></td>  
    <td height="20" width="69" align="center"></td>  
    <td height="20" width="69" align="center"></td>  
    <td height="20" width="69" align="center"></td>  
 </tr> 
</table>

javascript代码如下:

<script type="text/javascript">
    var timeArr = [];
    var myDate = new Date();
    var hour = myDate.getHours();
    var year = myDate.getFullYear();
    var month = (myDate.getMonth()) + 1;
    var day = myDate.getDate();
    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[0].innerHTML = "8时至今";
    for (var i = 0, l = tds.length; i < l; i++) {
        if (timeArr[i] - 1 < 0 ) {
            tds[i + 1].innerHTML = year + "年" + month + "月" + (day - 1) + "日" + "<br/>" + "(" + (timeArr[i] - 1 + 24) + "-" + timeArr[i] + "时)";
        }
        else {
            if (tds[i + 1] != null) {
                if (timeArr[i] > 23) {
                    tds[i + 1].innerHTML = year + "年" + month + "月" + (day-1) + "日" + "<br/>" + "(" + (timeArr[i] - 1) + "-" + timeArr[i] + "时)";
                }
                else {
                    tds[i + 1].innerHTML = year + "年" + month + "月" + day + "日" + "<br/>" + "(" + (timeArr[i] - 1) + "-" + timeArr[i] + "时)";
                }
            }
        }
    }
</script>

 

望高手帮帮忙!

doubledu的主页 doubledu | 初学一级 | 园豆:199
提问于:2012-11-29 10:50
< >
分享
所有回答(3)
0

你能做到这一步,就不是js的问题了。

jone_e | 园豆:1410 (小虾三级) | 2012-11-29 13:20
0

顺序倒过来,将tds[i+1]改成tds[tds.length-i]试试看看,代码暂时没时间看,应该是你少考虑了一些情况,少加了判断

志誠 | 园豆:122 (初学一级) | 2012-11-29 13:44
0

问题已解决:现在帖出代码

<script type="text/javascript">
    var timeArr = [];
    var myDate = new Date();
    var hour = myDate.getHours();
    var year = myDate.getFullYear();
    var month = myDate.getMonth() + 1;
    var day = myDate.getDate();
    for (var i = 0; i < 12; i++) {
        if (hour - i >= 0) {
            timeArr.push(hour - i);
        }
        else {
            timeArr.push(hour - i + 24);
        }
    }

    myDate.setDate(myDate.getDate()-1);
    var tds = document.getElementById("trd").getElementsByTagName("td");
    tds[12].innerHTML = "8时至今";
    for (var i = 0, l = tds.length - 1; i < l; i++) {
        if (timeArr[i] - 1 < 0) {
            tds[l - i - 1].innerHTML = myDate.getFullYear() + "年" + (myDate.getMonth() + 1) + "月" + (day - 1) + "日" + "<br/>" + "(" + (timeArr[i] - 1 + 24) + "-" + timeArr[i] + "时)";
        }
        else if (timeArr[i] - 12 > 0) {
            tds[l - i - 1].innerHTML = myDate.getFullYear() + "年" + (myDate.getMonth() + 1) + "月" + myDate.getDate() + "日" + "<br/>" + "(" + (timeArr[i] - 1) + "-" + timeArr[i] + "时)";
        }
        else {
            if (tds[l - i - 1] != null) {
                tds[l - i - 1].innerHTML = year + "年" + month + "月" + day + "日" + "<br/>" + "(" + (timeArr[i] - 1) + "-" + (timeArr[i]) + "时)";
            }
        }
    }
</script>
doubledu | 园豆:199 (初学一级) | 2012-11-30 11:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册