У меня есть система, которая используется несколькими пользователями и другими системами в разных часовых поясах. Я принимаю его на Azure. Я хочу сохранить все даты по местному времени, а не время сервера. Я могу это сделать, отслеживая местный часовой пояс каждого клиента, и я компенсирую даты, прежде чем сохранять их в базе данных.предотвратить изменение времени в часовом поясе MVC
До сих пор все хорошо работает, однако, когда даты отправляются обратно в браузер клиента, MVC считает, что они находятся в UTC (это время сервера для всех Azure VM) и смещает часы.
Что является самым эффективным способом предотвратить это? Я попытался установить DateTimeKind на локальный, но это не имело желаемого эффекта. Даты были преобразованы. Думаю, я мог бы передавать даты как строки, но это похоже на взломать. Должен быть лучший способ сделать это.
Ваши предложения высоко оценены.
Если вы заранее знаете часовой пояс своих клиентов, вы найдете его более масштабируемым и более легким в настройке и обслуживании, если вы конвертируете в UTC сохранение локальных дат и конвертируете обратно в конкретную локаль, когда информация должна отображаться. Легче делать математику с датой, когда все синхронизируется с одной стороны сервера часового пояса. –
Что делать, если вы установили datetimekind в utc? – JamieD77
@ JamieD77. Я попробовал это, но без эффекта. По какой-то причине даты всегда преобразуются. – dpdragnev