Вы говорите, что хотите получить метку времени для «определенного часового пояса». Если вы знаете, каково смещение часового пояса для этого конкретного часового пояса, вы сможете получить дату UTC, вычесть из нее смещение часового пояса и вывести строку даты, которая должна быть одинаковой для всех клиентов. Это утверждение должно работать:
var timeZoneOffset = 300; // Eastern Standard Time
var sameDate = (new Date(((new Date()) - (timeZoneOffset * 60 * 1000)))).toISOString()
new Date()
должно возвращать одно и то же время в миллисекундах на всех клиентах, если дата и время локальных компьютеров точны. Смещения часового пояса указаны в минутах, поэтому их необходимо умножить на 60 * 1000 (60 секунд / минут, умноженных на 1000 миллисекунд / секунду), а затем вычесть это количество миллисекунд из даты UTC, чтобы получить его равным текущему времени в часовом поясе, которое имеет это смещение. Затем преобразуйте его в строку ISO. Вы можете манипулировать получающейся строкой, если хотите. Возможно, избавиться от Z на конце.
var dateWithoutZ = sameDate.slice(0,-1);