循环并打印时间列表

时间:2015-03-11 03:56:46

标签: javascript jquery loops

var firstAm = '<li>12:00 AM</li>';
                        $('#time').append(firstAm);
                        for (i = 1; i < 12; i++) {
                            var am = '<li>' + i + ':00 AM</li>';

                            $('#time').append(am);
                        }

使用上面的代码我产生了1小时的间隔,但我希望产生类似的东西 上午12:15 12:30 AM 上午12:45 有15分钟的不同。

小提琴:http://jsfiddle.net/ycjkqc0g/1/

3 个答案:

答案 0 :(得分:1)

您可以执行类似

的操作

var date = new Date();
date.setHours(0, 0, 0, 0);

var end = new Date(date);
end.setHours(end.getHours() + 12);

while (date < end) {
  var am = '<li>' + convert24HourTo12Hour(date.getHours()) + ':' + date.getMinutes() + ' AM</li>';

  $('#time').append(am);
  date.setMinutes(date.getMinutes() + 15);
}


function convert24HourTo12Hour(h) {
  return (h + 11) % 12 + 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="time"></div>

答案 1 :(得分:0)

var d = new Date();
d.setHours(0,0,0);
var html = '';
for (i=0;i<12*4*2;i++) {
    var h = ('0'+d.getHours()).slice(-2);
    var m = ('0'+d.getMinutes()).slice(-2);
    var s = ('0'+d.getSeconds()).slice(-2);
    var ampm = '';
    if (h >= 12) {
      ampm = 'pm';
    } else {
      ampm = 'am';
    }
    html += '<li>' + h + ':' + m + ':' + s + ' ' + ampm + '</li>';
    d.setMinutes(d.getMinutes() + 15);
}
$(html).wrap('<ul></ul>');
$('#time').append(html);

答案 2 :(得分:0)

你可以在for循环中添加一个循环,

for (i = 1; i < 12; i++) {
    for ( min = 0; min < 3; min++ ) {
        var am = '<li>' + i  + ':' + min * 15 + 'AM</li>';
        $('#time').append(am);
    }
}

在内循环中,您基本上以分钟为单位打印时间为0,15,30和45。

如果您想将其打印为“00”小时,则可以将数字min * 15格式化为两位数值并使用它。