2014-03-25 22 views
1

我試圖在JavaScript中使用gethours()方法,但它不斷返回軍事時間。有人可以幫助我解決它,讓它顯示時鐘? (1-12)。非常感謝!在javascript中將gethours改爲1-12

// Reroute from the conf.js script 
var chat = $('.chat-output'), 

    message = function (message, userId) { 
     var dt = new Date(), 
      time = dt.getHours() + ":" + dt.getMinutes(); // + ":" + dt.getSeconds(); 

     return $('<div class="chat-message color-' + users[userId] + '">' + 
        '<div class="chat-id color-' + users[userId] + '"></div>' + 
        '<div class="chat-user-message">' + message + '</div>' + 
        '<div class="chat-time">' + time + '</div>' + 
       '</div>'); 
    }, 

    addText = function (text) { 
     // log.innerHTML += text; 
     // log.scrollTop = log.scrollHeight; 

     console.log(text); 
    }, 

    addRemoteText = function (userId, text) { 
     // addText('[' + userId + ']: ' + text+'<br>'); 

     chat.append(message(text, userId)); 
     chat.scrollTop(chat.get(0).scrollHeight); 
    }; 

回答

0
function ampm(date){ 
    var dt= date || new Date, 
    h= dt.getHours(), 
    m= dt.getMinutes(), 
    s= dt.getSeconds(), 
    ampm; 

    if(h>12){ 
     h-= 12; 
     ampm= (h%12)? ' PM': ' AM'; 
    } 
    else ampm= (h%12)? ' AM': ' PM'; 

    m= m<10? '0'+m: m; 
    s= s<10? '0'+s: s; 
    return [h, m, s].join(':')+ampm; 
} 

AMPM()

/* returned value: (String) 
11:52:55 PM 
*/ 
0

是這樣的嗎?

var dt = new Date(); 
var hours = dt.getHours(); 
var ampm = hours > 11 ? 'PM' : 'AM'; 
if (hours > 12) { 
    hours -= 12; 
} else if (hours === 0) { 
    hours = 12; 
} 
var time = hours + ":" + dt.getMinutes() + ' ' + ampm; 

Fiddle

+0

謝謝sooo多!! – user3374309

0

這裏是12小時格式格式化時間的另一個版本:

// Returns formatted time for given Date object, or 
// current system time if d is falsey. 
function getTime(d) { 
    d = d || new Date(); 
    var hrs = d.getHours(); 
    var pad = function(n){return (n<10?'0':'')+ +n}; 
    return pad(hrs%12 || 12) + ':' + pad(d.getMinutes()) + ' ' + (hrs<12? 'AM':'PM'); 
} 

console.log(getTime(new Date(2014,2,24, 0, 5))); // 12:05 AM 
console.log(getTime(new Date(2014,2,24,10,25))); // 10:25 AM 
console.log(getTime(new Date(2014,2,24,20,15))); // 08:15 PM 

請注意,在許多情況下,爲避免異常情況(如上午12:00(實際上不是AM或PM)和凌晨12:00之前的異常情況),首選24小時。

相關問題