Получить локальную строку даты и строку времени - PullRequest
6 голосов
/ 27 июля 2011

Я пытаюсь получить LocaleDateString и LocaleTimeString , которые будут toLocaleString () , но LocaleString дает вам GMT + 0100 (GMT Дневное время) , который я бы не показывал.

Могу ли я использовать что-то вроде:

timestamp = (new Date()).toLocaleDateString()+toLocaleTimeString();

Большое спасибо

Ответы [ 2 ]

15 голосов
/ 27 июля 2011

Вы можете использовать локальную строку даты как есть, просто перелистать часы, минуты и секунды.

В этом примере заполняются одиночные цифры начальными 0 и настраиваются часы для am / pm.

function timenow(){
    var now= new Date(), 
    ampm= 'am', 
    h= now.getHours(), 
    m= now.getMinutes(), 
    s= now.getSeconds();
    if(h>= 12){
        if(h>12) h -= 12;
        ampm= 'pm';
    }

    if(m<10) m= '0'+m;
    if(s<10) s= '0'+s;
    return now.toLocaleDateString()+ ' ' + h + ':' + m + ':' + s + ' ' + ampm;
}
alert(timenow());
6 голосов
/ 27 июля 2011

Если вы строите строку, используя ванильные методы, она автоматически выполнит преобразование локали (и TZ).

* 1003 Е.Г. *

var dNow = new Date();
var s = dNow.getMonth() + '/' + dNow.getDate() + '/' + dNow.getFullYear() + ' ' + dNow.getHours() + ':' + dNow.getMinutes();
...