Почему я получаю 1 день назад дату от javascript в течение 12 часов утра до 8 часов утра, когда я заполняю форму?
Я являюсь разработчиком программного обеспечения в asp.net. Мы работаем над живым приложением, которое работает для обследования сайта с помощью мобильного устройства android. При этом, когда пользователь заполняет форму, он автоматически получает системное время в одном текстовом поле с помощью javascript с помощью метода getDate (). Но проблема в том-
когда пользователь заполняет форму с 12 до 8 утра, то дата будет показывать предыдущую дату, как я заполняю форму 28/4/17, а затем она будет отображаться 27/4/17. Около 35 тысяч человек работают над этим приложением, но проблема возникает только у одного пользователя.
var d = new Date(); var curr_date = d.getDate();
Что я уже пробовал:
я понятия не имею, что делать в этом сложном меттере?
Jochen Arndt
Вы должны объяснить, как обрабатываются даты (я понимаю, что извлекается местное время пользователя, но вы не объяснили, что делается с этим значением).
Если вы сравните такое местное время со временем в других местах, вы получите разницу, которая может привести к другому Дню.
Для сравнения времени и хранения дат на серверах всегда следует использовать UTC. При последующем отображении таких дат они могут быть преобразованы обратно в местное время.
Pawan Sharma Software Developer
Прежде всего вы должны были бы описать подробнее что вы делаете по датам
var d = new Date();var curr_date = d.getDate();
В соответствии с моим пониманием этого кода и вашим объяснением, что пользователь может находиться в другом часовом поясе или как вы используете даты для сохранения. Поэтому для этого вам нужно установить часовой пояс по умолчанию на стороне клиента и отправить даты на сервер для сохранения с часовым поясом. Для этого вы можете использовать moment.js за это
https://momentjs.com/
Таким образом, вы можете установить часовой пояс по умолчанию, а также использовать другие функции.
для получения более подробной информации, пожалуйста, укажите код, в котором вы используете эти даты.