Member 12860240 Ответов: 1

Как преобразовать введенные дни в количество лет, месяцев и дней в VB.NET


Как преобразовать введенные дни в количество лет, месяцев и дней в VB.net

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

Я пытался это сделать

Лет / 365
Мод 12 месяцев
Дней / 7

1 Ответов

Рейтинг:
2

OriginalGriff

В значительной степени, вы не можете.
Число дней " X "не переводится как" A лет, b месяцев и c дней", потому что месяцы и годы не имеют одинаковой длины: годы могут быть 365 или 366 дней, месяц может быть 28, 29, 30 или 31 день. А "б месяцев" зависит от того, с чего в текущем году вы начинаете работать!
Вот почему класс Timespan не имеет дела ни с одной единицей, превышающей дни: потому что все более крупные единицы нуждаются в "дате начала" для работы.
Если вы говорите о разработке даты с даты начала и количества дней, это просто: DateTime.AddDays сделает это.
Но если вы хотите что-то более сложное, вам нужно очень тщательно подумать о том, что именно вы ожидаете ввести и что именно вы ожидаете получить!

Это может вам помочь: Работа с возрастом: это не то же самое, что временной промежуток![^] или, по крайней мере, дать вам фон для размышлений (он написан на C#, но онлайн-конвертеры переведут его для вас)