#c# #arrays #date
#c# #массивы #Дата
Вопрос:
Мне нужна помощь в C # в получении названий месяцев из текущего месяца, что означает, что пользователь вводит месяц (имя) и возвращает список месяцев с начального месяца до текущего месяца.
Пример; пользователь вводит «Август», а текущий месяц — «Декабрь», поэтому он должен возвращать «Август, сентябрь, октябрь, ноябрь, декабрь».
Я сделал несколько шагов, но все еще не могу добраться до него.
1-я попытка:
string pattern = ("MMMM/yyyy");
Console.WriteLine("Enter Month: MMMM/yyyy");
DateTime inpMonth = DateTime.ParseExact(Console.ReadLine(),pattern,System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat);
string last = inpMonth.ToString("MMMM/yyyy");
DateTime date = DateTime.Now;
string curr = date.ToString("MMMM/yyyy");
2-я попытка (новый шаг):
//First Date
DateTime 1Date = new DateTime(2020, 12, 01);
//Second Date
DateTime 2Date =new DateTime(2019, 01, 01);
int month1 = (2Date.Month - 1Date.Month);
int month2 = (2Date.Year - 1Date.Year) * 12;
int months = month1 month2;
string mon = months.DateTime.ToString("MMMM"); //trying to convert the month number to month name
Обе попытки, похоже, не дают никакого близкого результата..
Ответ №1:
Следующий код приведет к запрошенному вами результату:
var start = "August";
var today = DateTime.Today;
var date = new DateTime(today.Year, DateTime.ParseExact(start, "MMMM", CultureInfo.CurrentCulture).Month, 1);
while (date < today)
{
Console.WriteLine($"{date:MMMM}");
date = date.AddMonths(1);
}