Подтвердить что ты не робот

Javascript для преобразования UTC в местное время

Хорошо, скажите, что JSON разметит строку UTC, как показано ниже:

2012-11-29 17:00:34 UTC

Теперь, если я хочу преобразовать эту дату UTC в мое местное время, как я могу это сделать?

Спасибо за ответ

=====

Затем, как мне отформатировать его на что-то еще, например "yyyy-MM-dd HH: mm: ss z??

Этот date.toString('yyyy-MM-dd HH:mm:ss z'); никогда не работает:/

4b9b3361

Ответ 1

Try:

var date = new Date('2012-11-29 17:00:34 UTC');
date.toString();

Ответ 2

var offset = new Date().getTimezoneOffset();

offset будет интервалом в минутах от локального времени до UTC. Чтобы получить местное время с датой UTC, вы затем вычитаете минуты со своей даты.

utc_date.setMinutes(utc_date.getMinutes() - offset);

Ответ 3

Это должно работать

var date = new Date('2012-11-29 17:00:34 UTC');
date.toString()

Ответ 4

Чтобы отформатировать дату, попробуйте выполнить следующую функцию:

var d = new Date();
var fromatted = d.toLocaleFormat("%d.%m.%Y %H:%M (%a)");

Но недостатком этого является то, что это нестандартная функция, которая не работает в Chrome, но работает в FF (afaik).

Крис

Ответ 5

Вышеприведенные решения правильные, но могут произойти сбой в FireFox и Safari! и что webility.js пытается решить. Проверьте функцию toUTC, она работает на большинстве основных браузеров и возвращает время в формате ISO

Ответ 6

/*
 * convert server time to local time
 *  simbu
*/
function convertTime(serverdate) {
    var date = new Date(serverdate);
    // convert to utc time
    var toutc = date.toUTCString();
    //convert to local time
    var locdat = new Date(toutc + " UTC");
    return locdat;
}