Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
ВнизПодсчёт разницы дат Найти похожие ветки
← →
sergeii (2008-01-28 10:56) [0]Добрый день,
Может кто нибудь знает, как подсчитать разницу между двумя датами и ответ получить в часах.
Спасибо.
← →
Семеныч (2008-01-28 11:05) [1]У типа TDateTime (он же TDate) целая часть - это кол-во дней, прошедших после условной "нулевой" даты, а дробная часть - это часть суток.
Значит, так: (Date1 - Date2) * 24
← →
Плохиш © (2008-01-28 11:06) [2]
> Может кто нибудь знает, как подсчитать разницу между двумя
> датами и ответ получить в часах.
Сначала найти разницу и результат умножить на количество часов в сутках.
← →
KilkennyCat © (2008-01-28 11:09) [3]function SecondsBetween(const ANow: TDateTime; const AThen: TDateTime): Int64;
← →
KilkennyCat © (2008-01-28 11:10) [4]> Плохиш © (28.01.08 11:06)
отлично. и какова погрешность тогда?
← →
Семеныч (2008-01-28 11:13) [5]> KilkennyCat © (28.01.08 11:10) [4]
Такая же, как у типа TDateTime.
← →
KilkennyCat © (2008-01-28 11:16) [6]> Семеныч (28.01.08 11:13)
да ну?
ну тогда две даты: 00:00:13 01.01.1980 и 05:40:32 01.01.1990
← →
sergeii (2008-01-28 11:17) [7]У меня есть база в каторой естё поле когда клиент подклиучился к базе и когда отключился мне надо подсчитать сколько времени он работал, есле поможет то база Firebird 1.5
Спасибо
← →
Семеныч (2008-01-28 11:19) [8]> KilkennyCat © (28.01.08 11:16) [6]
И что? Поясни, в чем фишка?
← →
sergeii (2008-01-28 11:20) [9]Простите великодушно за предидущее послание :)
У меня есть база, в каторой есть поля д1 и д2 когда клиент подклиучился к базе (д1) и когда отключился (д2) мне надо подсчитать сколько времени он работал, есле поможет то база Firebird 1.5
Спасибо
← →
Плохиш © (2008-01-28 11:21) [10]
> KilkennyCat © (28.01.08 11:16) [6]
Тоже хотел бы узнать, в чём фишка?
← →
ketmar © (2008-01-28 11:29) [11]>[9] sergeii (28.01.08 11:20)
сказали ж: преобразуй в TDateTime и дальше DateUtil тебе в помощь.
← →
Anatoly Podgoretsky © (2008-01-28 14:55) [12]
> отлично. и какова погрешность тогда?
Стандартная 15 десятичных разрядов
← →
Anatoly Podgoretsky © (2008-01-28 14:59) [13]
> ну тогда две даты: 00:00:13 01.01.1980 и 05:40:32 01.01.
> 1990
87677,6719444444
← →
KilkennyCat © (2008-01-28 19:12) [14]> [8] Семеныч (28.01.08 11:19)
> [10] Плохиш © (28.01.08 11:21)
извиняюсь, сглючил. почему-то подумалось, что возврат лишь целых дней.
← →
homm © (2008-01-28 22:04) [15]> [7] sergeii (28.01.08 11:17)
> У меня есть база в каторой естё поле когда клиент подклиучился
> к базе и когда отключился мне надо подсчитать сколько времени
> он работал, есле поможет то база Firebird 1.5
С этого нужно было начинать.SELECT ((UNIX_TIMESTAMP(`Date2`) - UNIX_TIMESTAMP(`Date1`)) / 60 / 60) AS WorkTime …
← →
Johnmen © (2008-01-28 23:00) [16]
> homm © (28.01.08 22:04) [15]
А это что такое UNIX_TIMESTAMP? Т.е. откедова?
← →
homm © (2008-01-28 23:14) [17]> [16] Johnmen © (28.01.08 23:00)
> А это что такое UNIX_TIMESTAMP? Т.е. откедова?
По крайней мере в MySQL такая функция есть. Возращает количество секунд прошедших с начала эпохи юникс.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c