VirQ. Month - компонент месяца из DateTime в C#
Язык C# входит в ТОП-5
самых популярных языков
программирования
Главная / Класс DataTime /
Month - компонент месяца из DateTime
Статей на сайте: 61

Month - компонент месяца из DateTime


Чтобы получить текущий месяц, используйте следующий код:
[code] DateTime dt = DateTime.Now; Console.WriteLine("Текущий год: " + dt.Month); Console.ReadKey(); [/code]
DateTime - структура, которая может хранить и другую заданную дату:
[code] DateTime dt = new DateTime(2020, 2, 22); Console.WriteLine("Месяц этой даты: " + dt.Month); Console.ReadKey(); [/code]
В этих статьях написано, как из даты получить год и день
Вывод месяца словами придётся задать через массив 12 месяцев, записанных вручную через массив.
[code] string[] m = new string[]{"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"}; DateTime dt = new DateTime(2020, 2, 22); Console.WriteLine("Месяц этой даты: " + m[dt.Month - 1]); Console.ReadKey(); [/code]
Месяца можно записывать во всю строку, можно по 1 месяцу в 1 строке. Это не важно.
Самый главный кусок, это m[dt.Month - 1]
У нас получается, что
[0] - Январь
[1] - Февраль
[2] - Март
...
[11] - Декабрь

dt.Month - выдаёт нам число 2, если мы задали заранее new DateTime(2020, 2, 22).
А счёт в массиве начинается с 0.
Поэтому необходимо отнять 1, чтобы привычное нам представление и компьютерная запись совпадали

Есть альтернатива. В массиве сделать 13 записей, где первая из них, которая встанет в нулевую позицию, это пустота.
В этом случае Январь будет уже на позиции не [0], а [1], как нам и привычно.
[code] string[] m = new string[]{"", "Январь", "Февраль", "Март", //Добавили "" перед январём "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"}; DateTime dt = new DateTime(2020, 2, 22); Console.WriteLine("Месяц этой даты: " + m[dt.Month]); //Тогда здесь без -1 Console.ReadKey(); [/code]
Сейчас стало так:
0 - пустота
1 - Январь
2 - Февраль
3 - Март
...
12 - Декабрь

Дополнительная информация о том, как вывести результат в консоли или WinForm