Я пытаюсь проверить, больше ли DateTime, чем другой DateTime в методе, но когда я пытаюсь передать его через параметры, он говорит, что один из DateTime 01.010001, хотя я и не сделал передать его как таковой.
Метод:
int monthsCount2(DateTime date, DateTime birthday, int yOld)
{
int count = 0;
if (birthday.Date >= date.Date)
{
count++;
if (!(yOld == 0))
count += (yOld - 1);
}
else
count += yOld;
return count;
}
Используя метод:
Console.WriteLine("You have lived through {0} christmases.",
monthsCount2(christmas, birthDay, (int)yearsOld));
Рождественская переменная:
DateTime christmas = new DateTime(25 / 12 / 2017);
переменная birthDay:
try
{
Console.WriteLine("Please enter your Birthdate. (dd/MM/yyyy)");
string input = Console.ReadLine();
birthDay = DateTime.Parse(input);
if (birthDay > DateTime.Now)
throw new FormatException();
}
лет Старая переменная:
TimeSpan secondsTimeSpan = DateTime.Now - birthDay;
double secondsOld = Math.Round(secondsTimeSpan.TotalSeconds);
double minutesOld = Math.Round(secondsOld / 60);
double hoursOld = Math.Round(minutesOld / 60);
double daysOld = Math.Round(hoursOld / 24);
double weeksOld = Math.Round(daysOld / 7);
double monthsOld = Math.Round(weeksOld / 4.34524);
double yearsOld = Math.Round(monthsOld / 12, 1);
Ввод - Консоль:
Консоль - Имгур
Локальная отладка:
Местные жители - Имгур
Весь код:
код - Github