稍后使用 Javascript 中的循环打印
print later time using loop in Javascript
我想打印一个时间列表(小时)但过滤掉较早的时间。例如现在是中午 12 点,在列表中我想隐藏早于中午 12 点的时间。
我卡在这里了
var d = new Date();
var hours = d.getHours();
var ampm = (hours >= 12) ? "PM" : "AM";
var datetime = hours + ":" + d.getMinutes() + " " + ampm;
console.log(datetime);
var firstAm = '<li>12:00 AM</li>';
$('.holder').append(firstAm);
for (i = 1; i < 12; i++) {
var am = '<li>' + i + ':00 AM</li>';
$('.holder').append(am);
}
var firstPm = '<li>12:00 PM</li>';
$('.holder').append(firstPm);
for (i = 1; i < 12; i++) {
var pm = '<li>' + i + ':00 PM</li>';
$('.holder').append(pm);
}
如果您想在晚上显示正确的时间,请尝试在定义日期时间之前添加以下行。
var hours = (hours % 12 !== 0) ? (hours % 12) : 12;
var datetime = hours + ":" + d.getMinutes() + " " + ampm;
你可以这样做
var d = new Date(),
t;
for (var i = d.getHours() + 1; i <= 24; i++) {
t = i % 12;
t = t == 0 ? 12 : t;
$('.holder').append('<li>' + t + ':00 ' + (i < 12 || i == 24 ? 'AM' : 'PM') + '</li>');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p class="holder"></p>
另一种方式是
var d = new Date(),
till = new Date(),
t, h, m;
d.setMinutes(d.getMinutes() + 30 - d.getMinutes() % 30, 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;
$('.holder').append('<li>' + (t < 10 ? '0' : '') + t + ':' + (m < 10 ? '0' : '') + m + ' ' + (h < 12 || h == 24 ? 'AM' : 'PM') + '</li>');
d.setMinutes(m + 30)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p class="holder"></p>
我想打印一个时间列表(小时)但过滤掉较早的时间。例如现在是中午 12 点,在列表中我想隐藏早于中午 12 点的时间。
我卡在这里了
var d = new Date();
var hours = d.getHours();
var ampm = (hours >= 12) ? "PM" : "AM";
var datetime = hours + ":" + d.getMinutes() + " " + ampm;
console.log(datetime);
var firstAm = '<li>12:00 AM</li>';
$('.holder').append(firstAm);
for (i = 1; i < 12; i++) {
var am = '<li>' + i + ':00 AM</li>';
$('.holder').append(am);
}
var firstPm = '<li>12:00 PM</li>';
$('.holder').append(firstPm);
for (i = 1; i < 12; i++) {
var pm = '<li>' + i + ':00 PM</li>';
$('.holder').append(pm);
}
如果您想在晚上显示正确的时间,请尝试在定义日期时间之前添加以下行。
var hours = (hours % 12 !== 0) ? (hours % 12) : 12;
var datetime = hours + ":" + d.getMinutes() + " " + ampm;
你可以这样做
var d = new Date(),
t;
for (var i = d.getHours() + 1; i <= 24; i++) {
t = i % 12;
t = t == 0 ? 12 : t;
$('.holder').append('<li>' + t + ':00 ' + (i < 12 || i == 24 ? 'AM' : 'PM') + '</li>');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p class="holder"></p>
另一种方式是
var d = new Date(),
till = new Date(),
t, h, m;
d.setMinutes(d.getMinutes() + 30 - d.getMinutes() % 30, 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;
$('.holder').append('<li>' + (t < 10 ? '0' : '') + t + ':' + (m < 10 ? '0' : '') + m + ' ' + (h < 12 || h == 24 ? 'AM' : 'PM') + '</li>');
d.setMinutes(m + 30)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p class="holder"></p>