**First exercises** Сначала запросил данные, затем проверил данные с помощью TryParse. (если введенные данные подходят под дату и время, то он выведет true, иначе false). Не знаю как еще описать. Код выглядит следыющим образом: ``` Console.Write("Input first datetime: "); string a = Console.ReadLine(); DateTime date; if (DateTime.TryParse(a, out date)) { Console.WriteLine("Yeah this datatime is right!"); } else { Console.WriteLine("NO WAY YOU ARE SO BAD!"); } ``` **Second exercises** Сначала написал две даты, потом посчитал разницу и вывел ее в днях. TimeSpan нужен для математических операций с датами. Код выглядит так: ``` DateTime date1 = new DateTime(2024, 04,23, 23, 14, 12); DateTime date2 = new DateTime(2024, 04, 13, 16, 19,56 ); TimeSpan difference = date1 - date2; int diff = difference.Days; Console.WriteLine("diff: " + diff); ``` **Third exercises** Абсолютно такой же код, как и в первом, просто поменял Days на Hours. Код выглядит следыющим образом: ``` DateTime date1 = new DateTime(2024, 04,23, 23, 14, 12); DateTime date2 = new DateTime(2024, 04, 13, 16, 19,56 ); TimeSpan difference = date1 - date2; int diff = difference.Hours; Console.WriteLine("diff: " + diff); ``` **Fourth exercises** Абсолютно такой же код, как и в первом, просто поменял Hours на Minutes. Код выглядит следыющим образом: ``` DateTime date1 = new DateTime(2024, 04,23, 23, 54, 12); DateTime date2 = new DateTime(2024, 04, 13, 16, 20,56 ); TimeSpan difference = date1 - date2; int diff = difference.Minutes; Console.WriteLine("diff: " + diff); ``` **Fifth exercises** Дал пользователю выбрать праздник, создал кейсы с этими праздиками и при выборе одного из них выводится определенная дата. Код выглядит так: ``` Console.WriteLine("Choice your birthday (День программиста, День матери): "); string birth1 = Console.ReadLine(); switch (birth1) { case "День программиста": DateTime programmer = new DateTime(2024, 09, 12); Console.WriteLine(programmer.DayOfWeek); Console.WriteLine(programmer); break; case "День матери": DateTime mother = new DateTime(2024, 11, 24); Console.WriteLine(mother.DayOfWeek); Console.WriteLine(mother); break; } ``` **Sixth exercises** ``` Console.WriteLine("input: "); int a = Convert.ToInt32(Console.ReadLine()); DateTime date = new DateTime(DateTime.Now.Year, 1, 1).AddDays(a - 1); DayOfWeek week = date.DayOfWeek; Console.Write("Номер дня в году: " + a); Console.Write("День недели: " + week); ``` **Seventh exercises** Код выглядит так: ``` Console.Write("Input datetime test: "); DateTime date1 = DateTime.Parse(Console.ReadLine()); Console.Write("Input datetime: "); DateTime date2 = DateTime.Parse(Console.ReadLine()); if (date1 == date2) { Console.WriteLine("test today!"); } else if (date1 > date2) { TimeSpan difference = date1 - date2; int daysDifference = difference.Days; Console.WriteLine("days left: "+ daysDifference); } else if (date2 > date1) { TimeSpan difference = date2 - date1; int daysDifference = difference.Days; Console.WriteLine("days later: " + daysDifference); } ``` **Eighth exercises** ``` DateTime tomorrow = DateTime.Today.AddDays(1); string date1 = tomorrow.ToString("dd.MM.yyyy"); Console.WriteLine("Завтра дата будет такой: " + date1); ``` **Ninth exercises** ``` Console.WriteLine("Введите день и месяц: "); string input = Console.ReadLine(); DateTime birthday = DateTime.ParseExact(input, "dd.MM", null); DateTime today = DateTime.Today; if (birthday.Month == today.Month && birthday.Day == today.Day) { Console.WriteLine("Happy birthday!!!"); } else if (birthday < today) { DateTime next = new DateTime(today.Year + 1, birthday.Month, birthday.Day); int birth = (next - today).Days; Console.WriteLine(birth); } else { int itog = (today - birthday).Days; Console.WriteLine(itog); } ``` **Tenth exercises** ``` DateTime date1 = DateTime.Now; date1.ToString("dd:MM:ss"); Console.WriteLine(date1.Second+date1.Minute*60+date1.Hour*60*60); ``` **Eleventh exercises** Сначала создал лист и добавил туда даты. Затем добавил сегодняшнюю дату. Следующим делом я использую метод OrderBy для сортировки списка дат по возрастанию разницы между текущей датой и теми датами, что в списке. В заключении метод First() выбирает самую ближайшую дату. Код выглядит следующим образом: ``` List dates = new List(); dates.Add(new DateTime(2023, 12,23)); dates.Add(new DateTime(2024, 11,15)); dates.Add(new DateTime(2015, 06,03)); DateTime dateNow = DateTime.Now; DateTime otvet = dates.OrderBy(date => Math.Abs((dateNow - date).TotalSeconds)).First(); Console.WriteLine("Ближайшая дата: " + otvet.ToString("dd.MM.yyyy")); ``` **12-16 exercies** I know how to solve these exercieses but just i don't know how to write code =(