Сравнение дат - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д