2010-10-04 94 views
1

我需要創建一個表格,其中只有一列包含時間(從4小時開始),每行增加10秒。因此,它需要是這個樣子:動態創建具有時間增量的表格

04hrs 00mins 00secs - 04hrs 00mins 09secs

04hrs 00mins 10secs - 04hrs 00mins 19secs

04hrs 00mins 20secs - 04hrs 00mins 29secs

.... 。

06hrs 59mins 50secs - 06hrs 59mins 59secs

這顯然需要很長很長一段時間,以硬鱈魚因此我正在尋找動態創建它。基於我目前正在學習的東西,我希望能夠使用jQuery或者asp.net(vb)來做到這一點,但是隻要它能夠工作,任何事情都可以做到!

感謝

回答

1

基本日期時間算術。

// format the given date in desired format 
// ignores date portion; adds leading zeros to hour, minute and second 
function fd(d){ 
var h = d.getHours(); 
var m = d.getMinutes(); 
var s = d.getSeconds(); 
return (h < 10 ? '0'+h : h) + 'hrs ' + 
    (m < 10 ? '0'+m : m) + 'mins '+ 
    (s < 10 ? '0'+s : s) + 'secs'; 
} 
// 1) 10800 seconds = 3600 * 3 = 3 hours 
// 2) a+=10 increments seconds counter in 10-second interval 
for (var a = 0; a < 10800; a+=10) { 
    // an arbitrary date is chosen, we're more interested in time portion 
    var b = new Date('01/01/2000 04:00:00'); 
    var c = new Date(); 
    b.setTime(b.getTime() + a*1000); 
    // c is b + 9 seconds 
    c.setTime(b.getTime() + 9*1000); 
    $("#table1").append(
    "<tr><td>" + fd(b) + ' - ' + fd(c) + "</td></tr>" 
); 
} 

查看輸出here。我想你可以很容易地將這個代碼示例移植到ASP.Net/VB.Net/C#。