Задать вопрос

Как сравнить 2 даты?

Есть дата в ISO8601 формате, часовой пояс может быть любым. Как проверить тот ли сейчас день в часовом поясе, который указан в iso8601?
var lastDate = new Date(ISO_DATE),
    curDate = new Date();

    if ((curDate - lastDate) > 86400000 || (curDate.getDay() != lastDate.getDate())) {
        //logic
     }

получается, что идет сравнение даты из текущей зоны с датой из потенциально другой зоны. Почему можно взять getTimezoneOffset(), но нельзя установить его?
  • Вопрос задан
  • 408 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
Я, пожалуй, процитирую сам себя.
Вы не можете поменять таймзону в браузере. Предполагается, что вы будете использовать UTC даты, и только при выводе конвертировать их в местное время.

Следующее выражение создаёт объект Date, используя всемирное время вместо местного:
var utcDate = new Date(Date.UTC(96, 11, 1, 0, 0, 0));

© https://developer.mozilla.org/ru/docs/Web/JavaScri...

upd есть такая чудесная штука как moment.js, которая решает большинство проблем с датами.
Там и таймзоны есть: momentjs.com/timezone

© Как установить временную зону javascript?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы