Объект Javascript Date()
сводит меня с ума.Я пытаюсь получить текущую дату UTC (mm/dd/yyyy
).Мне нужно, чтобы дата была одинаковой в любой точке мира.Итак, для этого я использовал методы UTC, такие как (new Date()).getUTCDate())
.Однако недавно, когда пользователь пожаловался, я обнаружил, что возвращаемое значение не везде одинаково.
Мне нужен определенный способ получить текущую дату (не прошедшую) в соответствии с универсальным временем.
(new Date()).getTime()
у меня не работает, так как возвращает его в миллисекундах.
Мой код:
function getToday() {
var today = new Date();
var dd = today.getUTCDate();
var mm = today.getUTCMonth() + 1; //January is 0!
var yyyy = today.getUTCFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = mm + '/' + dd + '/' + yyyy
return today;
}
console.log(getToday());
РЕДАКТИРОВАТЬ:
Я связался с этим пользователем и сказал ему, чтобы в основном выполнить (new Date()).getUTCDate())
.Его отключили на один день (правильный ответ - 27)
Кроме того, его смещение часового пояса составило 180
Он использует Chrome на компьютере с Windows (я не знаю, какая версия)
EDIT2:
Я только что кое-что сделал и нашелчто-то странное.
Мой пользователь сказал, что у него были проблемы в 12:00 каждый день, когда день меняется.Он сказал мне, что у меня были проблемы в 9:53 вечера на мое время.Зная, что у него смещение часового пояса 180 минут, а у меня смещение часового пояса 240, я могу рассчитать его время в этот момент, выполнив myTime + offsetDifference
.Это однако (((9*60 + 53) + (240 - 180)) / 60
) равняется приблизительно 11:00.Таким образом, его время на ПК ДОЛЖНО быть обратно на 1 час.
Возможно, он мог бы вручную установить свое время с неправильным часовым поясом.