датами и из сохранение на бд.На сколько я понимаю если для приложения важна дата и время относительно UTC то мне достаточно работать с структурой DateTimeOffset + хранить данные на бд типом datetimeoffset,это все верно до момента пока манипуляции с этими датами не будут зависеть от летнего/зимнего времени,в случае если летнее/зимнее время играет роль то нужно привлекать DateTimeZoneInfo и уже хранить на бд тот же datetimeoffset + временную зону (на сколько я понимаю в виде обычной строки).При передачи дат между клиент сервер,использую формат "yyyy/mm/ddTHH:mm:ssZ" + если надо клиент высылает ещё и временную зону.Получая строку с сервера клиент парсит её к локальной дате учитывая смещение.Я верно понимаю процесс?
Datetimeoffset есть только mssql и не помню правильно ли он там смещение хранит. Если нужно универсально работать с часовыми поясами, то в базе храни дату в utc и отдельно колонку со смещением (часовой пояс в котором была сделана запись). Когда достаешь, то при передаче на клиент уже смотришь: или ему надо показать в utc, или показать время пояса, где было сохранение, или же приводишь к локальному времени клиента(обычно это удобнее всего)
Спасибо за совет,в mssql на сколько я могу судить datetimeoffset хранит исправно,дату + смещение
Не только летнее время, но и что угодно ещё tz-related. Если нужны любые манипуляции с датами в прошлом и будущем (сложить тем, вычесть), то для этого уже нужна информация о полной таймзоне.
Спасибо большое учту
Обсуждают сегодня