我有一个 if 语句,用于在 11:45 后将时间更改回 12:
i = (i >= 192) ? i - 192 : ( i >= 96) ? i - 96 : i
var mins = (i * 15 % 60)
var hours = Math.floor(i * 15 / 60)
var ampm = (hours >= 12) ? "PM" : "AM"
hours = (hours == 0) ? 12 : (hours >= 12) ? hours - 12 : hours;
var nextMins, nextHours = hours;
switch (mins) {
case 0:
mins = "";
nextMins = 15;
break;
case 45:
nextMins = "";
nextHours = hours+1;
break;
default:
nextMins = mins + 15;
break;
}
var time = hours + (mins == "" ? "" : ":" + mins) + " - " + nextHours + (nextMins == "" ? "" : ":" + nextMins) + ampm
它以 15 分钟为间隔更改,问题是它会在 12 点开始,但在再次到达 12:00 后,它将显示为 0:15、0:30、0:45。而不是 12:15、12:30、12:45
我认为 if 语句的这一部分可以做到这一点:
hours = (hours == 0) ? 12
但不起作用?
最佳答案
最简单的方法可能是
hours = (hours % 12) || 12;
这种方式可以处理任何正整数几个小时(例如 36 仍然会返回 12)。
关于javascript - 让时间回到 12 而不是 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9457723/