2013-10-16 21 views
6

Herhangi bir gövde, HH: MM: SS am/pm biçimindeki HH: MM am/pm biçimini nasıl alacağımı gösterir.javascript date.toLocaleTimeString() 'dan sadece saat ve dakika nasıl gösterilir?

My javascript code is : 

    function prettyDate2(time){ 
     var date = new Date(parseInt(time)); 
     var localeSpecificTime = date.toLocaleTimeString(); 
     return localeSpecificTimel; 
     } 

Ama bu biçimde HH zaman verir: DD: DD am/pm: müvekkilimin gereksinimi .Ama SS am/pm HH olduğunu. Lütfen bana yardım edin.

cevap

8

Bunu yapabilirsin:

function prettyDate2(time){ 
    var date = new Date(parseInt(time)); 
    var localeSpecificTime = date.toLocaleTimeString(); 
    return localeSpecificTime.replace(/:\d+ /, ' '); 
} 

regex o dizesinden saniye sıyırma edilir.

Buradaki yorumda belirtildiği gibi, this answer tüm yerellerde daha iyidir.

+2

akılda ayı benim çözüm yayınlanmıştır, Bu çözüm işe yaramaz, çünkü \ d ifadesi numaraları algılamayacaktır. Örnek: 'date.toLocaleTimeString ('ar')'. Bu nedenle, _ @ Dan Cron_ 'ın cevabı genel kullanım için daha iyidir. – Roshdy

1

Ayrıca böyle deneyebilirsiniz: - Böyle

function timeformat(date) { 
    var h = date.getHours(); 
    var m = date.getMinutes(); 
    var x = h >= 12 ? 'pm' : 'am'; 
    h = h % 12; 
    h = h ? h : 12; 
    m = m < 10 ? '0'+m: m; 
    var mytime= h + ':' + m + ' ' + x; 
    return mytime; 
} 

falan: -

new Date('16/10/2013 20:57:34').toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3") 
3

kullanın Intl.DateTimeFormat kütüphanesi.

function prettyDate2(time){ 
    var date = new Date(parseInt(time)); 
    var options = {hour: "numeric", minute: "numeric"}; 
    return new Intl.DateTimeFormat("en-US", options).format(date); 
    } 
11

Here en-US dışındaki yerel ayarları kapsar Bu sorunun, daha genel bir versiyonudur. CJLopez yerine bunu kullanarak anlaşılacağı böylece Ayrıca, toLocaleTimeString() çıktı ayrıştırma sorunları olabilir:

var dateWithouthSecond = new Date(); 
dateWithouthSecond.toLocaleTimeString(navigator.language, {hour: '2-digit', minute:'2-digit'}); 
+0

son derece kullanışlıdır! Bu ikinci arg için çok teşekkürler! – Roshdy

+0

çok kullanışlıdır. Teşekkürler. – hkg328

0

O olmayan ingilizce yereli için buraya https://stackoverflow.com/a/48595422/6204133

var textTime = new Date(sunriseMills + offsetCityMills + offsetDeviceMills) 
       .toLocaleTimeString('en-US', { hour: 'numeric', minute: 'numeric' }); 
İlgili konular