Мы работаем над приложением IOS с использованием Azure Mobile Services от Microsoft. Веб-интерфейс GUI создает даты-время как поля DateTimeOffset, что отлично. Но когда у нас есть мобильная связь datetime в базе данных, затем читайте их из базы данных через Entity Framework, мы видим, что они настроены на UCT. (Мы видим то же самое, когда просматриваем записи в SSMS.)Почему Azure теряет информацию о часовом поясе в полях DateTimeOffset?
Я всегда был разочарован отсутствием поддержки часового пояса в стандартных типах времени и времени SQL, и я думал, что DateTimeOffset будет лучше. Но если бы я хотел, чтобы мои времена были в UTC, я бы сохранил их в UTC. Если пользователь вводит время как 3:00 AM, CST, я хочу знать, что он ввел CST. Мне так мало смысла конвертировать его в UTC и отбрасывать смещение, так как это предполагало, что 3:00 AM CST и 3:00 AM PDT были одинаковыми.
Есть ли какая-то конфигурация базы данных, которую я могу сделать, чтобы база данных Azure сохраняла даты в UTC?
В нашем случае мы знаем, в какой временной зоне находится каждый мобильный телефон, поэтому мы можем конвертировать время, которое мы получаем с UTC в часовой пояс мобильного телефона. Но мне кажется, что здесь есть проблема, которую нужно исправлять MS. –
Было бы здорово, если бы вы могли продемонстрировать минимальную сквозную демонстрацию проблемы с вашей точки зрения. Возможно, на GitHub и ссылку здесь. Благодарю. –
Не совсем осуществимо - это взаимодействие между мобильным приложением IOS и базой данных Azure, которая теряет смещение. –