У меня есть веб-страница с тремя выпадающими списками для дня, месяца и года. Если я использую конструктор JavaScript Date
который принимает числа, я получаю объект Date
для моего текущего часового пояса:
new Date(xiYear, xiMonth, xiDate)
Дайте правильную дату, но она думает, что дата - GMT + 01: 00 из-за перехода на летнее время.
Проблема здесь в том, что я передаю эту Date
методу Ajax, и когда дата десериализируется на сервере, она конвертируется в GMT и теряет час, который переводит день назад на единицу. Теперь я могу просто передать день, месяц и год по отдельности в метод Ajax, но, похоже, должен быть лучший путь.
Принятый ответ указал мне верное направление, однако setUTCHours()
использование setUTCHours()
изменилось:
Apr 5th 00:00 GMT+01:00
в
Apr 4th 23:00 GMT+01:00
Затем я также должен был установить дату UTC, месяц и год, чтобы в конечном итоге
Apr 5th 01:00 GMT+01:00
что я и хотел