使用循环打印时间列表

print list of time using a loop

本文关键字:时间 列表 打印 循环      更新时间:2023-09-26

此代码有 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 分钟。我无法理解代码的某些部分,所以我无法继续那里,我不想使用另一个循环来实现它。

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

删除此

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

更改为

d.setHours(0,0,0);