Я вот тоже гадал как такое получилось и не нащупал. Но Алиса расписала ))
Вообще вот это
1 год, 5 месяцев,непонятное. Какой год? Они вообще-то разные бывают по числу дней, ну а месяцы так подавно.
Вот если диапазон от даты до даты - там да, там и год понятно какой, и месяцы.
Алиса брала усреднённые год и месяц
Берём усреднённый год = 365,25 дней (учёт високосных);
Берём усреднённый месяц = 30,44 дней (365,25 дн / 12 мес);
Алиса |
|---|
Число 46 333 961 (предположительно в секундах) преобразуется в календарный формат 1 год, 5 месяцев, 18 дней, 6 часов, 32 минуты, 41 секунда по следующей логике — через последовательное деление на временные интервалы с учётом условных средних значений (не точных астрономических).
Пошаговый разбор Исходное значение: 46333961 сек.
Секунды → минуты:
1 мин = 60 сек;
46333961÷60=772232 мин и 41 сек (остаток);
записываем: 41 сек.
Минуты → часы:
1 ч = 60 мин;
772232÷60=12870 ч и 32 мин (остаток);
записываем: 32 мин.
Часы → дни:
1 день = 24 ч;
12870÷24=536 дней и 6 ч (остаток);
записываем: 6 ч.
Дни → годы и месяцы (условно):
Берём усреднённый год = 365,25 дней (учёт високосных);
536÷365,25≈1,467 года;
Целая часть: 1 год;
Остаток: 536−365,25=170,75 дней.
Оставшиеся дни → месяцы (условно):
Берём усреднённый месяц = 30,44 дней (365,25 дн / 12 мес);
170,75÷30,44≈5,61 месяцев;
Целая часть: 5 месяцев;
Остаток: 170,75−(5×30,44)=170,75−152,2=18,55 дней;
Округляем до целых: 18 дней.
Итоговый результат 1 год
5 месяцев
18 дней
6 часов
32 минуты
41 секунда
Важные замечания Это приближённый расчёт на основе усреднённых значений (год ≈ 365,25 дн, месяц ≈ 30,44 дн).
В реальных календарях длина месяцев варьируется (28–31 день), а високосные годы добавляют сложность.
Для точных дат нужно знать начальную точку (например, «с 1 января 2000 года»), тогда можно вычислить конкретный день/месяц/год.
Если исходное число — не секунды (а, например, миллисекунды), результат будет иным. |
По этой логике можно писать UDF, да и наверное формулу можно наваять, но UDF проще. Но я не буду, не ожидайте.