Я искал здесь кого-то с такой же проблемой, но не нашел. Всякий раз, когда я вызываю Date () для своего скрытого значения, кажется, что один день вычитается. Я использую Chrome.
Я передаю скрытое значение в свой html:
<input type = "hidden" name = "start_date" value = "2018-07-29" class = "start-date" id = "id_start_date">
Правильно, когда я звоню:
var hiddenDate = $('#id_start_date')[0].value;
alert(hiddenDate); # 2018-07-29
Но неправильно, если я позвоню:
var date = new Date(hiddenDate);
alert(date); # Sat Jul 28 2018 19:00:00 GMT-0500 (Central Daylight Time)
Что я делаю не так и как это исправить? Спасибо
Он был проанализирован как UTC (время на 5 часов отстает от вашего часового пояса UTC-0500). Правильный способ справиться с этим зависит от того, что вы в конечном итоге делаете с объектом даты. Итак: куда идет date?
Я бы преобразовал в метку времени вместо объекта Java Date.
@ Ry - я увеличиваю это значение, чтобы установить дни для всей недели. Я пробовал предлагаемые решения в этом посте, но безуспешно.
Тогда попробуйте использовать эквиваленты функций в формате UTC для объекта даты, который у вас уже есть, например getUTCDate() вместо getDate(). (Однако даты действительно сложно определить правильно.)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


часовые пояса......