Следующая функция работает, если заранее известно смещение:
var MOSCOW_OFF = 4; // hours
var MONTHS = ["January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"];
// desired format => November 1, 2011 21:31:00
function getLocalTime(offset) {
var d = new Date();
d.setTime((new Date().getTime()) +
(d.getTimezoneOffset() * 60 * 1000) + // local offset
(1000 * 60 * 60 * offset)); // target offset
return MONTHS[d.getMonth()] + " " + d.getDate() + ", " +
d.getFullYear() + " " + d.toTimeString().split(" ")[0];
}
getLocalTime(MOSCOW_OFF); // => "November 2, 2011 01:22:27"
Вышесказанное всегда будет работать для Москвы, которая больше не учитывает переход на летнее время, но вам нужно знать, в какое время года для решения аналогичного общего вопроса подходит Хельсинки.