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