@ruslite

Как вывести время и дату на js?

Как вывести время и дату на js в зависимости от часового пояса? Я сам вставлю нужное смещение через вставку <?php echo $n;?> условно.
  • Вопрос задан
  • 1069 просмотров
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Инстанс типа данных 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));

Вот так это выглядит на практике. Большая часть кода примера — это согласование падежей.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Можно воспользоваться обычным объектом Date на JS. Либо хорошей библиотекой, которая как угодно дату выведет и отформатирует: momentjs.com
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы