Как получить DateOfBirth, используя возраст в C #? - PullRequest
0 голосов
/ 07 мая 2018

У меня есть возраст пользователя, месяц и день, примерно 18 лет, 2 месяца и 5 дней. Мне нужно вернуть пользователя DateOfBirth, используя эти параметры. Как мне найти пользователя DateOfBirth по году, месяцу и дню?

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Я нашел решение, и оно работает для меня.

 public static DateTime GetDateOfBirth(int year, int month, int day)
    {
        var today = DateTime.Today;
        int currentYear = today.Year;
        int currentDay = today.Day;
        int currentMonth = today.Month;

        if (day >= currentDay)
        {
            currentMonth--;
            currentDay += DateTime.DaysInMonth(currentYear, currentMonth);
        }

        if (month >= currentMonth)
        {
            currentMonth += 12;
            currentYear--;
        }

        return new DateTime(currentYear - year, currentMonth - month, currentDay - day);
    }
0 голосов
/ 07 мая 2018

Вы всегда можете использовать AddDays / Months / Years с отрицательным числом, чтобы фактически вычесть Дни / Месяцы / Годы из даты.

DateTime now = DateTime.Now;

Console.WriteLine("Today's Date:" + now.ToString());

int years = 18;
int months = 2;
int days = 5;
now = now.AddYears((-1) * years);
now = now.AddMonths((-1) * months);
now = now.AddDays((-1) * days);

Console.WriteLine("Date Of Birth:" + now.ToString());

return now;

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...