Сообщения

Сообщения за март, 2012

Что же всё-таки не так со структурой DateTime?

Замечания: 1. В предыдущей заметке " time zone " я перевёл как "временнАя зона", поскольку речь шла о часовых поясах США, имеющих специфическое название. В данном случае корректнее использовать " часовой пояс ". Здесь используется более корректный перевод. 2. Небольшая врезка из Википедии даст вам понимание что такое UTC и чем оно отличается от GMT - Всеми́рное координи́рованное вре́мя (UTC) — стандарт, по которому общество регулирует часы и время. Отличается на целое количество секунд от атомного времени и на дробное количество секунд от всемирного времени UT1. UTC было введено вместо устаревшего среднего времени по Гринвичу (GMT). Новая шкала времени UTC была введена, поскольку шкала GMT является неравномерной шкалой и связана с суточным вращением Земли. Шкала UTC основана на равномерной шкале атомного времени (TAI) и является более удобной для гражданского использования. Часовые пояса вокруг земного шара выражаются как положительное и отрицате

Маленькие чудеса C#/.NET – структура DateTimeOffset

Рассмотрим некоторые части .Net Framework'a, выглядящие тривиальными, но вполне способными сделать ваш код более простым как в написании, так и в сопровождении. Пишущие на .NET (а если вы этого не делаете, то зря читаете этот пост) наверняка время от времени используют для своих нужд структуру DateTime. Эта структура удобна для хранения дат, времени или даты/времени, относящихся к локальной временной зоне (или же к UTC). Однако, бывают случаи, когда вам необходимо сохранить время в виде смещения, а не конвертировать его в локальное время. И вот здесь вам на помощь придёт структура, впервые появившаяся в .NET 3.5 - DateTimeOffset. Проблема: парсинг DateTime может привести к конвертации в локальное время Представим себе, что вы используете файл, веб-сервис и т.п. некой сторонней фирмы, чьи сервера находятся в другой временной зоне. Более того, у них есть несколько полей, в возвращаемых данных, которые должны содержать даты, но на самом деле содержат сериализованные экземп