fellanmorgh Ответов: 2

Вычислите возраст с помощью datetime


Привет,

Я пытался понять, как я могу что-то сделать, если возраст находится между, например, 16-21 годами.

Что я уже пробовал:

У меня есть класс под названием Person.
    public string Name { get; set; }
    public string Surname { get; set; }
    public DateTime Age { get; set; }
}


Я пытался выяснить, как определить возраст между определенными значениями. Так что давайте скажем так:
Человек:
Имя: Бла
Фамилия: Нах
Возраст: 20 лет

Я пытался создать, если заявление, в котором говорится
если возраст от 16 до 21 года, сделайте что-нибудь и т. д.

Как я мог это сделать?

Заранее спасибо.

2 Ответов

Рейтинг:
5

phil.o

На самом деле, вы не должны иметь Age Свойство DateTime. Он должен быть назван DateOfBirth (например). То Age собственность затем может быть вычислена, когда вам это нужно, с даты рождения.
Таким образом:

public DateTime DateOfBirth { get; set; }

public int Age
{
   get { return (DateTime.Today - DateOfBirth).Days / 365; }
}

Анализировать:
- (DateTime.Today - DateOfBirth) возвращает TimeSpan ценность.
- Общее количество дней в промежутке времени делится на среднее количество дней в году, чтобы дать приблизительное представление о возрасте.

Обратите внимание, что свойство Age доступно только для чтения, так как оно вычисляется каждый раз, когда вызывается геттер свойства. Таким образом, он всегда возвращает текущий возраст.

Надеюсь, это поможет. Любезно.


fellanmorgh

Эй, это здорово. Удалось выяснить возраст человека. Спасибо за помощь :)

BillWoodruff

почему бы и нет (Дата-Время.Сегодня - Дата Рождения).Годы ?

phil.o

Потому что в прошлый раз, когда я проверял, структура TimeSpan не имеет свойства Years :)

Рейтинг:
0

phil.o

Я забыл о Вашей статье и о шансах вычислить возрастное значение. У меня 5.