В большинстве проектов необходимо использовать время или дату, выполнять манипуляции с ними. В этой статье вы узнаете все разнообразные возможности инициализации DateTime.
DateTime - структура данных, которая хранит время вместе с датой.
Инициализация
Есть три варианта инициализации: через статическое поле, через конструктор или через метод конвертирования.
Инициализация через конструктор:
- new DateTime(Int64). Необходимо передать количество тиков.
- new DateTime(Int64, DateTimeKind). Количество тиков и формат времени.
- new DateTime(Int32, Int32, Int32). Дата, которая указывается в порядке: год, месяц, день.
- new DateTime(Int32, Int32, Int32, Calendar). Дата и нестандартный календарь (пример: Персидский). В результате данные будут конвертированы под календарь.
- new DateTime(Int32, Int32, Int32, Int32, Int32, Int32). Указание даты и время в следующем порядке: год, месяц, день, часы, минуты и секунды.
- далее комбинации с указанием даты, времени, формата даты и календаря.
Статические поля:
- DateTime.Now. Содержит текущую дату и локальное время (время на текущем устройстве).
- DateTime.Today. Содержит текущую дату со временем 00:00:00.
- DateTime.UtcNow. Содержит текущую дату и UTC, всемирное координированное время.
Методы конвертирования:
- Convert.ToDateTime(type). Конвертирование типа данных в DateTime.
- DateTime.Parse(string). Конвертирование строки в DateTime. Строка должна быть записана в определенном формате.
- DateTime.Parse(string, IFormatProvider). Конвертирование строки в DateTime. Строка должна быть записана в определенном формате. IFormatProvider содержит информацию об оформлении даты в определенной культуре (языке).
- DateTime.Parse(String, IFormatProvider, DateTimeStyles). Конвертирование строки в DateTime. DateTimeStyles - перечисление, в зависимости от которого
Примеры инициализации
В примере на картинки показана работа метода Parse и простого конвертирования. Также другие примеры инициализации есть на картинке в начале статьи.
В следующих статьях будет разбор свойств и методов структуры DateTime.
Телеграмм канал: https://t.me/dotnetreview