Как изменить дату в javascript с разными часовыми поясами

Я сохраняю дату в базе данных в unix-timestamp. Я установил часовой пояс по умолчанию:

date_default_timezone_set("America/Los_Angeles");

но в javascript я меняю метку времени следующим образом:

for (var i = 0; i < records.length; i++) {
    if (originalData[i].SystemLogsUserAction.TimeStamp == "0") {
        records[i].TimeStamp = "";
    } else {
        records[i].TimeStamp = new Date(originalData[i].SystemLogsUserAction.TimeStamp * 1000);
    }
}
return records;

Приведенный выше код изменяет время, но это не в часовом поясе, о котором я упоминал.

1 ответ

Похищен бесстыдно у: http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/6016329

// function to calculate local time
// in a different city
// given the city's UTC offset
function calcTime(city, offset) {

    // create Date object for current location
    d = new Date();

    // convert to msec
    // add local time zone offset
    // get UTC time in msec
    utc = d.getTime() + (d.getTimezoneOffset() * 60000);

    // create new Date object for different city
    // using supplied offset
    nd = new Date(utc + (3600000*offset));

    // return time as a string
    return "The local time in " + city + " is " + nd.toLocaleString();

}

эта функция полезна для расчета значения часового пояса, указав название города / страны и значение смещения

Другие вопросы по тегам