Форум » [x]Harbour » Разница по времени » Ответить

Разница по времени

fil: Есть 2 значения времени в символьном виде 8:32 и 17:45 Как можно вычислить разницу (столько-то часов, столько-то минут) ? С ф-й ctot() не получилось

Ответов - 13

Dima: a:=ft_Elapsed( , , "8:32", "17:45" ) ? a[1,1] ? a[2,1] ? a[3,1] ? a[4,1]

fil: ft_Elapsed под xHarbour нет

Dima: fil пишет: ft_Elapsed под xHarbour нет Есть в LIBNF


fil: Брось в меня, плз

fil: Нашел

fil: Наверное в LIBNF есть и ф-я сложения значений времени напр. 1:15 и 2.38 ?

azoo: Как-то некорректно работает по датам: a:=ft_elapsed("20150101","20150125") ? a[1,1] , a[1,2] ? a[2,1] , a[2,2] ? a[3,1] , a[3,2] ? a[4,1] , a[4,2] Результат: 1 1.00 0 24.00 0 1440.00 0 86400.00

Dima: azoo пишет: Как-то некорректно работает по датам: Там дата должна быть а не строка ft_elapsed(date()-3,date())

Dima: fil пишет: Наверное в LIBNF есть и ф-я сложения значений времени напр. 1:15 и 2.38 ? Нашел только FT_ELTIME которая разницу выдает между двумя временами ? FT_ELTIME( "01:15","02:38" )

Dima: Dima пишет: Нашел только FT_ELTIME которая разницу выдает между двумя временами Но мона так [pre2] Proc main Local t1 := t"2009-03-21 17:31:45.437" Local t2 := t"2009-03-21 01:31:45.437" ? t1+t2 retun можно и так ? t"17:31" + t"01:31" но результат придется подчистить от лишнего [/pre2] PS Спасибо alkresin за документацию

Dima: Не могу понять одну штуку. ? t"17:31" + t"01:31" // результат / / 19:02:00.000 ? t"17:31" - t"01:31" // результат не понятен мне 0.666667 , ожидал увидеть что то типа / / 16:00:00.000

PSP: Dima пишет: ? t"17:31" - t"01:31" // результат не понятен мне 0.666667 , ожидал увидеть что то типа / / 16:00:00.000 Ну, это видимо 0.666667 * 24 = 16, т.е. 0.666667 часть от суток.

Dima: PSP Понял. Сенкс. Неожиданно. Плюсуют правильно и минусует



полная версия страницы