Как рассчитать чей-то возраст на основе дня рождения типа DateTime?
Это странный способ сделать visual-c# это, но если вы форматируете dotnet дату в yyyymmdd
и вычитаете дату c#-language рождения из текущей даты, то .cs-file отбрасываете последние 4 .net-framework цифры, у вас есть возраст datetime :)
Я не знаю C#, но думаю, что dot-net это будет работать на любом dot-net языке.
20080814 - 19800703 = 280111
Отбросьте последние datetime-manipulation 4 цифры = 28
.
Код C#:
int now = int.Parse(DateTime.Now.ToString("yyyyMMdd"));
int dob = int.Parse(dateOfBirth.ToString("yyyyMMdd"));
int age = (now - dob) / 10000;
Или, как c# вариант, без преобразования .net всех типов в виде метода csharp расширения. Проверка ошибок .net опущена:
public static Int32 GetAge(this DateTime dateOfBirth)
{
var today = DateTime.Today;
var a = (today.Year * 100 + today.Month) * 100 + today.Day;
var b = (dateOfBirth.Year * 100 + dateOfBirth.Month) * 100 + dateOfBirth.Day;
return (a - b) / 10000;
}
c#
.net
datetime
Как рассчитать чей-то возраст на основе дня рождения типа DateTime?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.