2013-05-13 60 views
5

Tôi muốn hiển thị Thời gian ở định dạng 12 giờ bằng cách thay đổi mã sau. i Đã thử các kỹ thuật khác nhau nhưng không may mắn, hy vọng sẽ tìm được giải pháp từ các bạn.Thời gian hiển thị ở định dạng 12 giờ trong JavaScript

<script type="text/javascript"> 

$.fn.androClock = function() { 
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; 
var months = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec"]; 
function getTime() { 
    var date = new Date(), 
    hour = date.getHours(); 
    return { 
    day: days[date.getDay()], 
    date: date.getDate(), 
    month: months[date.getMonth()], 
    hour: appendZero(hour), 
    minute: appendZero(date.getMinutes()) 
    }; 
} 
function appendZero(num) { 
    if (num < 10) { 
    return "0" + num; 
    } 
    return num; 
} 
function refreshClock() { 
    var now = getTime(); 
    $('#date').html(now.day + "<br>" + now.date + '. ' + now.month); 
    $('#time').html(now.hour + ":" + now.minute); 
    setTimeout(function() { 
    refreshClock(); 
    }, 10000); 
} 
refreshClock(); 
    }; 
$('#andro-clock').androClock(); 

</script> 
+0

thể trùng lặp của [Thay t quân sự ime đến thời gian bình thường với Javascript] (http://stackoverflow.com/questions/14415618/replace-military-time-to-normal-time-with-javascript) –

Trả lời

6

EDIT

Dựa trên ý kiến ​​của bạn trong câu trả lời của Rahul ...

Cập nhật dòng:

hour: appendZero(hour),

để

hour: appendZero(((hour + 11) % 12) + 1)Live Demo


Live Demo

var formatTime = (function() { 
    function addZero(num) { 
     return (num >= 0 && num < 10) ? "0" + num : num + ""; 
    } 

    return function (dt) { 
     var formatted = ''; 

     if (dt) { 
      var hours24 = dt.getHours(); 
      var hours = ((hours24 + 11) % 12) + 1; 
      formatted = [formatted, [addZero(hours), addZero(dt.getMinutes())].join(":"), hours24 > 11 ? "pm" : "am"].join(" ");    
     } 
     return formatted; 
    } 
})(); 

alert(formatTime(new Date())); 
+0

cảm ơn Điều đó đã làm công việc :) –

4

DEMO

function getTime() { 
    var date = new Date(), 
    hour = date.getHours(); 
// var dd = "AM"; 
    var h = hour; 
    if (h > 12) { 
     h = hour-12; 
    //  dd = "PM"; 
    } 
    if (h == 0) { 
     h = 12; 
    } 
    return { 
    day: days[date.getDay()], 
    date: date.getDate(), 
    month: months[date.getMonth()], 
    hour: appendZero(h), 
    minute: appendZero(date.getMinutes()), 
    // dd: dd 
    }; 
} 


function refreshClock() { 
    var now = getTime(); 
    $('#date').html(now.day + "<br>" + now.date + '. ' + now.month); 
// $('#time').html(now.hour + ":" + now.minute+" "+now.dd); 
    $('#time').html(now.hour + ":" + now.minute); 
    setTimeout(function() { 
    refreshClock(); 
    }, 10000); 
} 
+0

Đây là những gì tôi cần nhưng tôi không cần am/pm, chỉ trong 12 giờ. –

+0

Xem mã cập nhật. nhận xét AP PM logic ... Nếu nó đã giúp vui lòng chấp nhận câu trả lời –

+0

cảm ơn những nỗ lực rahul –

Các vấn đề liên quan