使用循环打印时间列表

时间:2015-03-11 05:48:50

标签: javascript jquery

这段代码有if语句,它只打印现在的时间之后,

http://jsfiddle.net/bvz0opy9/

var today = false;  
var d = new Date(),
    till = new Date(),
    t, h, m;

if (today) {
    d.setMinutes(d.getMinutes() + 15 - d.getMinutes() % 15, 0, 0);
    till.setDate(d.getDate() + 1);
    till.setHours(0, 0, 0, 0);

    while (d <= till) {
        h = d.getHours();
        m = d.getMinutes();
        t = h % 12;
        t = t == 0 ? 12 : t;
        $('#time').append('<li>' + (t < 10 ? '0' : '') + t + ':' + (m < 10 ? '0' : '') + m + ' ' + (h < 12 || h == 24 ? 'AM' : 'PM') + '</li>');
        d.setMinutes(m + 15);
    }
} else {
    // print full list of time with interval of 15 min
    // do it here
}

如果我想获得完整的时间列表怎么办?指从上午12点到晚上11点,间隔15分钟。我无法理解代码的某些部分,因此我无法继续使用,我不想使用其他循环来实现它。

1 个答案:

答案 0 :(得分:0)

使用javascript setHours函数将var d设置为12am,即小时0. setHours的参数为(hour, [minute], [second], [milisecond])。 '[]'部分是可选的。

删除此

d.setMinutes(d.getMinutes() + 15 - d.getMinutes() % 15, 0, 0);

更改为

d.setHours(0,0,0);