Žiadny popis

vivanov 0cd9d15935 first commit 11 mesiacov pred
.gitignore.txt 429e5ab52f first commit 1 rok pred
readme.md 0cd9d15935 first commit 11 mesiacov pred

readme.md

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 =(