Сравнение дат - C# (179378)
Формулировка задачи:
Здравствуйте. Мне нужно получить разницу между датами, получаю я ее таким методом:
Возможно, изобрел велосипед. Возможно ли как-то минимизировать код сравнения?
Листинг программы
- public void Compare(Airplane a1, Airplane a2)
- {
- if (airplanesArray == null)
- throw new Exception("Нет самолетов!");
- if (a1.DepartureTime > a2.DepartureTime)
- {
- int dYear = a1.DepartureTime.Year - a2.DepartureTime.Year;
- int dMonth = a1.DepartureTime.Month - a2.DepartureTime.Month;
- int dDay = a1.DepartureTime.Day - a2.DepartureTime.Day;
- int dHour = a1.DepartureTime.Hour - a2.DepartureTime.Hour;
- int dMin = a1.DepartureTime.Minute - a2.DepartureTime.Minute;
- int dSecond = a1.DepartureTime.Second - a2.DepartureTime.Second;
- Console.WriteLine("Разница между рейсом номер {0} и {1}: годы: {2}, месяца: {3}, дни: {4}, часы: {5}, минуты: {6}, секунды: {7}",
- a1.RaceNumber, a2.RaceNumber, dYear, dMonth, dDay, dHour, dMin, dSecond);
- }
- if (a1.DepartureTime < a2.DepartureTime)
- {
- int dYear = a2.DepartureTime.Year - a1.DepartureTime.Year;
- int dMonth = a2.DepartureTime.Month - a1.DepartureTime.Month;
- int dDay = a2.DepartureTime.Day - a1.DepartureTime.Day;
- int dHour = a2.DepartureTime.Hour - a1.DepartureTime.Hour;
- int dMin = a2.DepartureTime.Minute - a1.DepartureTime.Minute;
- int dSecond = a2.DepartureTime.Second - a1.DepartureTime.Second;
- Console.WriteLine("Разница между рейсом номер {0} и {1}: годы: {2}, месяца: {3}, дни: {4}, часы: {5}, минуты: {6}, секунды: {7}",
- a1.RaceNumber, a2.RaceNumber, dYear, dMonth, dDay, dHour, dMin, dSecond);
- }
- }
Решение задачи: «Сравнение дат»
textual
Листинг программы
- var dtnow = new DateTime(2017, 1, 2);
- var dt = new DateTime(2017, 1, 1);
- var diff = new DateTime((dtnow - dt).Ticks);
- Console.WriteLine($"{diff.Year} {diff.Month} и тд"); // 1 год 1 месяц и т.д.
- Console.ReadKey(true);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д