Как изменить дату в 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();
}
эта функция полезна для расчета значения часового пояса, указав название города / страны и значение смещения