Форум » [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 Понял. Сенкс. Неожиданно. Плюсуют правильно и минусует
полная версия страницы