Шаг 289.
Язык программирования C#. Начала.
Немного о разном. Работа с датой и временем

    На этом шаге мы перечислим основные свойства и методы структуры, предназначенной для работы с датой и временем.

    Нередко приходится иметь дело с таким специфическим типом информации, как дата и время. Для работы с датой и временем в языке C# предназначена структура DateTime. Экземпляры этой структуры позволяют представлять дату и время в диапазоне от 00:00:00 (ноль часов, ноль минут, ноль секунд) 1 января 1 года новой эры до 23:59:59 (без одной секунды полночь) 31 декабря 9999 года (даты здесь указаны по григорианскому календарю). Технически дата (и время) реализуется в виде целого числа, равного количеству тактов, которые прошли до данной даты, начиная с полночи 1 января 1 года. Длительность одного такта равна 100 наносекундам (или 1 миллисекунда - это 10 000 тактов).


"Наибольшую" и "наименьшую" дату, которые можно реализовать с помощью экземпляра структуры, можно узнать с помощью статических полей MaxValue и MinValue соответственно. Значением полей (доступных только для чтения) являются экземпляры структуры DateTime, соответствующие финальной и начальной датам, которые могут быть реализованы с помощью этой структуры.

    Если нас интересует только время (без даты), то в этом случае можно использовать экземпляр структуры TimeSpan.


    Экземпляр структуры DateTime реализует определенную дату (и время). Существуют разные способы создать экземпляр структуры. Например, аргументами конструктору можно передать год, месяц и день для даты, реализуемой экземпляром структуры. Можно дополнительно указать часы, минуты и секунды. Или даже миллисекунды. Предусмотрена возможность явно указывать календарь, а также использовать мировое время (вместо местного, используемого по умолчанию). Можно определить дату и время, передав конструктору количество тактов.


Экземпляр структуры DateTime содержит информацию о годе, месяце, дне в месяце, часах, минутах, секундах и миллисекундах. Здесь и далее под датой мы будем подразумевать совокупность всех перечисленных выше параметров.

    В структуре DateTime есть много свойств и методов. Часто используется статическое свойство Now. Результатом оно возвращает экземпляр структуры, соответствующий текущей дате и времени (определяется по текущему времени компьютера). Если нужно получить текущую дату и время по мировому времени (формат UTC), используют свойство UtcNow.

    У структуры DateTime есть и другие полезные свойства:

    Кроме многочисленных свойств, у структуры DateTime имеется много методов, позволяющих выполнять различные операции с датой и временем. Есть группа методов, предназначенных для добавления к дате, реализованной экземпляром структуры DateTime, определенного интервала времени (годы, дни, часы, секунды и так далее):


К экземплярам структуры DateTime применяются операторы сравнения, а также сложение (к экземпляру структуры DateTime можно прибавлять экземпляр структуры TimeSpan) и вычитание (из экземпляра структуры DateTime можно вычитать экземпляр структуры DateTime или TimeSpan).

    На следующем шаге мы рассмотрим пример использования этой структуры.




Предыдущий шаг Содержание Следующий шаг