===== Время и его передача ===== ==== Задача ==== Обеспечить корректную обработку времени с учетом часовых поясов. ==== Решение ==== Наиболее простым для понимания и реализации решением является гарантированная передача значения часового пояса. Это позволяет при сравнении времен работать с "абсолютным" временем, т.е. переводить в UTC и обратно без потери информации, что облегчает сравнение 2 моментов времени с указанием разных часовых поясов. Предполагается хранение/обработка/передача времени строго в форматах (локальное время + часовой пояс) либо UTC в соответствии со стандартом [[https://en.wikipedia.org/wiki/ISO_8601|ISO-8601]]. \\ \\ ==== Сериализация ==== Локальное время + часовой пояс: 2016-02-16T05:03:57+05:00 То же время в UTC: 2016-02-16T00:03:57Z Рекомендуемые типы данных для стека технологий .NET:\\ CLR: DateTimeOffset.\\ SQL Server: datetimeoffset.\\ Библиотека-сериализатор: Json.Net (используется в WebAPI 2 по-умолчанию). [[http://www.newtonsoft.com/json/help/html/DatesInJSON.htm | Serializing Dates in Json.Net]].