Формат разницы дат в ЧЧ: мм:СС в excel VBA
Всем Привет,
Я пытаюсь отформатировать разницу дат в формате hh:mm: ss в excel vba. "1 час 20 минут" будет "01:20:00", "30 минуты 40 сек" будет "00: 30: 40" и так далее.
Даты указаны в формате
ДД-ММ-гггг чч: мм: СС АМ/ПМ
Что я уже пробовал:
diff = Format(endDateTime-startDateTime, " hh:mm:ss")
Я пробовал эту формулу. Но это, кажется, не дает правильного ответа.
ZurdoDev
Вложенный Макрос Macro1()
'
'Макрос1 Макрос
'
'
Дим значение как дату, endDateTime как дата
startDateTime = " 2017/06/22 10: 00 AM"
endDateTime = " 2017/06/22 3: 00 PM"
Дим разница как дата
diff = Format(endDateTime-startDateTime, " hh:mm:ss")
Конец Подводной Лодки
diff дает мне 5: 00: 00 утра.
planetz
Я преобразовал строки в дату с помощью CDate (). Может ли это быть проблемой?
Richard Deeming
Можете ли вы показать нам пример ввода, ожидаемого вывода и фактического (неправильного) вывода?
planetz
Да, конечно.
входные:
дата 1=20-06-2017 01: 02: 30
date2=21-06-2017 01: 04: 30 am
после вычитания date2-date1 выводим
00:02:00
Он вычисляет только минуты и секунды, а не часы.
Мой код:
Dim startDateTime, endDateTime как дата
значение = функция cdate(форма.txtStartTime.Текст)
endDateTime = функция cdate(форма.txtEndTime.Текст)
Form.txtDuration.Text = Format ((endDateTime-startDateTime), "hh:mm:ss")