Инстанс типа данных
Date создаётся в локальном времени
GMT. То есть никому часовой пояс от сервера не нужен. Совсем.
Если на клиенте захочется выяснить смещение, то есть, во-первых, метод
Date#getTimezoneOffset у созданного инстанса, а, во-вторых, статический метод конструктора
Date.UTC.
Если вы хотите обезопаситься от сбоя часов на компьютере, которые и используются в конструкторе
Date, вам нужно передавать точное время в
UTC, а на клиенте уже добавить нужное смещение.
Update: Всё зависит от того, как вы передаёте данные с сервера. Я предположу 2 самых плохих ситуации.
Для начала возьмём за основу 2 переменных со значением времени в
UTC, которые будут передаваться с сервера.
var startString = '2015:7:11:13:27:12',
startTime = '1439299632000'; // Соответствует указанной выше дате
Строка с перечислением номеров — startString
Если данные приходили бы в
JSON, массив можно было бы сразу передать для формирования даты. Если же это — строка, нужно сначала её разбить.
new Date(Date.UTC.apply(null, startString.split(':')));
Строка с количеством миллисекунд — startTime
Ровно то же самое — для начала преобразуем строку в число.
new Date(parseInt(startTime));
Вот так
это выглядит на практике. Большая часть кода примера — это согласование падежей.