0

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

我想对这段代码使用 12 小时制...

$(document).ready(function() {

setInterval( function() {
var hours = new Date().getHours();
$(".hours, .hour").html(( hours < 10 ? "0" : "" ) + hours);
}, 1000);

}); ​

非常感谢您的帮助:D

4

2 回答 2

1

您可以使用模%运算符来实现此目的,该运算符会找到除法运算的余数。

例如,11 % 12两者23 % 12都等于 11,就像 12 小时制的时钟一样。

var hours = new Date().getHours() % 12;
if (hours == 0) {
    hours += 12;
}

http://jsfiddle.net/ph7Vf/

于 2012-11-08T07:16:05.290 回答
0

试试这个:

hours = (hours < 12 ? hours : hours - 12).toString().replace(/^\d{1}$/, '0$&');

编辑:根据 Vulcan 的回答,它可能会更短:

hours = (hours % 12).toString().replace(/^\d{1}$/, '0$&');
于 2012-11-08T07:13:39.707 回答