Как рассчитать остаток дней до своего дня рождения или нового года?

Приветствую всех, сегодня читая книгу, увидел интересный пример задачи, в котором требовалось вычислить остаток дней до дня рождения. При запуске программы пользователь должен был ввести дату своего дня рождения. А та в свою очередь после вычислений выводила информацию о том сколько дней осталось до него. Решения данного задания не сколько, но на ум пришло только эти два. Их реализацию вам и покажу.

 

    static void Main()
        {
            DateTime now = DateTime.Now;
            DateTime birthday;
            TimeSpan wait;

            Console.WriteLine("Введите дату вашего рождения в формате 'гггг, мм, дд'");
            birthday = Convert.ToDateTime(Console.ReadLine());


            DateTime thisYear = new DateTime(now.Year, birthday.Month, birthday.Day);

            if (thisYear < now)
            {
                thisYear = new DateTime(now.Year + 1, birthday.Month, birthday.Day);
                wait = thisYear - now;
            }
            else
            {
                wait = thisYear - now;
            }   

            Console.WriteLine("До дня рождения осталось {0} дней", wait.Days);

            // Delay.
            Console.ReadKey();
        }

Но с первого взгляда сложно разобраться в  примере выше, но меньше вопросов останется если вы взглянете на вариант ниже:

   static void Main(string[] args)
        {
            Console.WriteLine("Введите число дня рождения");
            int day = int.Parse(Console.ReadLine());
            Console.WriteLine("Введите месяц дня рождения");
            int month = int.Parse(Console.ReadLine());
            int count = (new DateTime(DateTime.Now.Year, month, day) - DateTime.Now).Days;
            Console.WriteLine("До дня рождения осталось {0}", count);
            Console.ReadKey();

        }

 

Обновлено: 19.03.2018 — 15:39

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.