2012-11-08 6 views
0

바이올린 :이 코드에 대한 12 시간 시계를 사용하려는 http://jsfiddle.net/bnsex/1/jQuery - .getHours() 메소드를 사용하여 1-24 시간을 1-12 시간으로 변경 하시겠습니까?

...

$(document).ready(function() { 

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

}); ​ 

당신의 도움이 많이 감사합니다 :

+0

모든 것은 당신의 예입니다. – Andreas

+0

If 문을 사용해야합니다. 맞습니까? –

+0

if (시간> 12) { 시간 - = 12; } else if (시간 === 0) { 시간 = 12; } jquery를 간신히 배우고 있습니다. 하하 도움이 필요합니다. –

답변

0

이 함께 시도 D :

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

편집 : Vulcan의 답변에 따르면 더 짧을 수 있습니다.

hours = (hours % 12).toString().replace(/^\d{1}$/, '0$&'); 
+0

이것은 모듈 방식보다 훨씬 효율적입니다. – Vulcan

+0

그래, jquery의 초보자 인 나에게 꽤 혼란 스럽다. –

+0

@ Vulcan : 방금 접근법을 수정했다. 'replace'는 다른 조건을 피하는 것입니다. @RickyCortes : 나는 이것을 이렇게 쓰고 싶지만, 여기저기서 비트를 가져 와서 자신 만의 솔루션을 굴릴 수 있습니다. – elclanrs

1

나머지는 나눗셈 연산을 찾는 모듈러스 % 연산자를 사용하여이를 수행 할 수 있습니다.

예를 들어, 11 % 1223 % 12은 모두 11 일 것입니다. 12 시간 시계처럼 표시합니다. 당신이 필요로하는

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

http://jsfiddle.net/ph7Vf/

+0

완벽하게 작동합니다! 감사. –

+1

도움이 된 것을 기쁘게 생각합니다! 답변을 수락 된 것으로 표시하는 것을 잊지 마십시오. – Vulcan

+0

실제로, 문제가 있습니다 ... 지금은 12:08 태평양 시간 ... 코드는 실제로 00:08을 표시합니다. :/ –

관련 문제