vivanov 0cd9d15935 first commit | 11 mesi fa | |
---|---|---|
.gitignore.txt | 1 anno fa | |
readme.md | 11 mesi fa |
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<DateTime> dates = new List<DateTime>();
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 =(