2013-08-06 5 views
0

나는 두 개의 시계, 24 시간 형식을 가지고 의미, 다른 하나는,jQuery를 시계 12/24 시간 함께

function updateClock() { 
    var currentTime = new Date(); 
    var currentHoursAP = currentTime.getHours(); 
    var currentHours = currentTime.getHours(); 
    var currentMinutes = currentTime.getMinutes(); 
    var currentSeconds = currentTime.getSeconds(); 

    // Pad the minutes and seconds with leading zeros, if required 
    currentMinutes = (currentMinutes < 10 ? "0" : "") + currentMinutes; 
    currentSeconds = (currentSeconds < 10 ? "0" : "") + currentSeconds; 

    // Choose either "AM" or "PM" as appropriate 
    var timeOfDay = (currentHours < 12) ? "AM" : "PM"; 

    // Convert the hours component to 12-hour format if needed 
    currentHoursAP = (currentHours > 12) ? currentHours - 12 : currentHours; 

    // Convert an hours component of "0" to "12" 
    currentHoursAP = (currentHours == 0) ? 12 : currentHours; 

    // Compose the string for display 
    var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds + " " + "/" + currentHoursAP + ":" + currentMinutes + ":" + currentSeconds + " " + timeOfDay; 

    $("#clock").html(currentTimeString); 
} 

$(document).ready(function() { 
    setInterval(updateClock, 1000); 
}); 

12 시간 형식이지만 currentHours까지 종료하고 currentHoursAP는 동일한 될 값.
무엇을 놓치셨습니까?

+0

디버거를 사용하여 코드를 단계별로 실행하고 직접 찾아보십시오. –

+1

감사합니다 ... : D –

답변

2

문제였다

// Convert an hours component of "0" to "12" 
currentHoursAP = (currentHoursAP == 0) ? 12 : currentHoursAP; 

currentHoursAP != 0 다음 currentHours로 다시 설정 한 대신 currentHoursAP의 값을 다시 설정하는

데모 경우 : Fiddle

+0

대단히 감사합니다 :) –

1

getHours 제로 기반 (0 = 12 AM, 23 = 11 PM)이므로 수표를 조정해야합니다.

currentHoursAP = (currentHours >= 12) ? currentHours - 12 : currentHours; 
currentHoursAP = (currentHoursAP == 0) ? 12 : currentHoursAP; 
+0

대단히 감사합니다, 그것은 문제입니다 :) –