Re: задача для программистов
![](/images/graemlins/grin.gif)
Нобелевскую премию в студию!
![](/images/graemlins/smile.gif)
Хммм... А что значит полных месяцев? Например, родился 2 февраля, Сколько полных месяцев будет 3-го марта этого же года. И дней сколько?
DateTime from = DateTime.ParseExact("12.04.1961", "dd.MM.yyyy", null);
DateTime to = DateTime.ParseExact("17.11.2006", "dd.MM.yyyy", null);
Console.WriteLineto - from).TotalDays);
ParseExact
То, что я привел, является алгоритмом. Вопрос лишь в том, набор каких средств доступен автору темы. Его я и задал в своем первом сообщении.
![](/images/graemlins/smile.gif)
start = number_of_seconds_from_world_beginning_UTC(date_start);
end = number_of_seconds_from_world_beginning_UTC(date_end);
print truncateend - start) / 86400);
Помогло это автору темы?
это не есть правда
где я ошибся?
количества переходов на зимнее, то твой алгортим один день не посчитает.
если truncate заменить на округление, то всё ок будет.
НАСА решило шатл в новый год на орбите не держать — он сцуко не знает что такое новый год =)
Есть же страны, где такого различия вообще нет.
А день вроде бы учитывается високосными годами, а не переводом.
Так что достаточно определить кол-во прошедших дней по известной формуле.
Кол-во лет, а тем более месяцев, вычисляется несколько сложнее, но тоже на основании кол-ва прожитых дней.
А зачем вообще учитывать переход на зимнее/летнее время?а почему бы и не учесть? есть же страны, где переходят на летнее время...
Есть же страны, где такого различия вообще нет.
![](/images/graemlins/ooo.gif)
![](/images/graemlins/grin.gif)
Речь ведь не шла про часы?
![](/images/graemlins/laugh.gif)
в двух словах можно было сказать так: день (календарная единица) ≠сутки (24 часа)
Вот какой смысл имеет реальное время жизнь человека - еще более-менее понятно, а вот с календарным как-то не очень
![](/images/graemlins/frown.gif)
Иначе получается формулировка задачи ради самой задачи, а не ради решения реальной задачи...
реальное время жизни человекаэто что такое?
![](/images/graemlins/smile.gif)
смысл календарного времени в том, что нужно его посчитать. а если число переходов на летнее время меньше числа переходов на зимнее за учётный период, то алгоритм может работать некорректно (с ошибкой в один календарный день).
если между date_start и date_end количество переходов на летнее время большезабыл сказать. время в алгоритме в UTC (т.е. по Гринвичу). Там нет переходов на летнее/зимнее время.
количества переходов на зимнее, то твой алгортим один день не посчитает.
если truncate заменить на округление, то всё ок будет.
о! точно, тогда всё правильно.
я просто привык жить, что в компе время в UTC считать надо и сначала не понял, почему народ негодует.
Оставить комментарий
Zhelev
Help:Задача: рассчитать возраст человека с точностью до дня. Есть две даты: дата рождения человека и дата, на которую рассчитываем возраст. Даты задаются в обычном формате, например 13.10.1982 (10-месяц)-дата рождения и 15.11.2006 - дата расчета. Необходимо рассчитать возраст человека в формате: X=сколько полных лет прожил человек; Y=сколько полных месяцев прожил человек, Z=сколько полных дней прожил человек.
Интересует сам алгоритм, чтобы его можно было запрограммировать!
Алгоритм для определения точного числа прожитых лет и месяцев уже есть!
Может кто-то уже решал такую задачу?
Можно и код данного алгоритма, если у кого есть!