@pvgdrk

Как возможно такое, что из одной даты в js высчитываются разные значения в миллисекундах?

Понимаю, что это не дело вообще задавать вопрос без примера кода, но во-первых он сложный - действия проходит в двух случаях через десяток функций, каждое по своему пути; во-вторых в момент Х значение переменной somedate одинаково -'Wed Aug 13 2014 04:00:00 GMT+0400 (RTZ 2 (лето))' в обоих случаях. Но. В случае А -somedate.valueOf() == 1407873600000, а в случае Б - somedate.valueOf() == 1407888000000.

Я не знаю что думать. Туплю уже третий вечер. Скажите, как такое в принципе может происходить?
  • Вопрос задан
  • 2231 просмотр
Решения вопроса 2
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Всё потому, что редко кто задумывается о разнице GMT и UTC. Всё локальное время создаётся в GMT, в котором важно смещение относительно гринвича.
А UTC система была внедрена для исключения влияния часовых поясов на временные отсечки.
Итого:

var date = {
	year: 2014,
	month: 7,
	date: 13
};

document.write(
	Date.UTC(
		date.year,
		date.month || 0,
		date.date || 1
	)
);


И в любом часовом поясе будет выведен один и тот же результат.
Ответ написан
Комментировать
mannaro
@mannaro Куратор тега JavaScript
Умею профессионально гуглить
Никак. Вы уверены, что даты одинаковые? Различие в 4 часа. Может, что-то с временными зонами?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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