У меня есть номер 0.00082788917980126 который когда-то преобразованный в формат h:mm:ss дает мне 0:01:12 , и мне нужно понять, как мне нужно выполнить аналогичное форматирование вне Excel, отсюда мой вопрос:

Как Excel конвертирует число в формат h:mm:ss?

1 ответ1

3

Источник: http://www.cpearson.com/excel/datetime.htm

В Excel даты и время хранятся в виде числа, представляющего количество дней с 1900 года по январь-0, плюс дробная часть 24-часового дня: ddddd.tttttt. Это называется серийной датой или серийной датой-временем.

раз
Дробная часть числа, ttttt, представляет дробную часть 24-часового дня. Например, 6:00 утра хранится как 0,25, или 25% от 24-часового дня. Точно так же, 6 вечера хранятся в 0,75 или 75% от 24-часового дня.

Даты
Целая часть числа, ddddd, представляет количество дней с 1900 года по январь-0. Например, дата 19 января 2000 года хранится как 36 544, поскольку с 1900 года по январь 0 прошло 36 544 дня. Число 1 представляет 1900-янв-1.

Пример расчета в Excel

hours of a day              = 24
minutes of a day            = 60
seconds of a day            = 60        
total seconds of a day      = 24 * 60 * 60 = 86400

your time as serial date    = 0.00082788917980126       
your seconds since midnight = 86400 * 0.00082788917980126 = 71.5296251348289

hours      =ROUNDDOWN( 71.5296251348289 / 3600, 0 )    = 0      
minutes    =ROUNDDOWN( 71.5296251348289 / 60, 0 )      = 1      
seconds    =ROUND( MOD( 71.5296251348289, 60 ), 0 )    = 12     
your formatted time                                    = 00:01:12
  • Вы можете расширить расчет до миллисекунд и более

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .