Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.13;
Скачать: CL | DM;

Вниз

Получение разницы между датой/временем   Найти похожие ветки 

 
Megabyte ©   (2007-02-27 11:43) [0]

Требуется получить разницу полей типа Timestamp, сервер FB 2.0
1)Если как запрос делать timestamp2-timestamp1, то формат результата выводится в виде долей дня(т.е. как просто дробное вещественное число).
2)Если оформлять как вычисляемое поле на клиенте(на Дельфи) тип DateTime, то результат выдается в виде начальнаое дата/время вида "30.12.1899 00:00" + разница. Отображение, конечно лучше, чем в 1)
Но мне бы иметь абсолютную разницу. Возможно ли это стандартными функциями(или придется писать свою?)? Если да, то какими?

з.ы. Мне потом эту разницу прибавлять к дате, используя PHP.   Кто может подсказать, каким образом там действовать, буду благодарен.


 
Sergey13 ©   (2007-02-27 11:56) [1]

> Требуется получить разницу полей типа Timestamp
Выраженную в чем?

> 1)Если как запрос делать timestamp2-timestamp1, то формат результата выводится в виде долей дня
И чем это не подходит?


 
Desdechado ©   (2007-02-27 11:57) [2]

> просто дробное вещественное число
> Но мне бы иметь абсолютную разницу.
А теперь просвети, в чем разница этих 2 строк.


 
Megabyte ©   (2007-02-27 12:03) [3]

Пример: 04.10.2006 11:52:53 и 05.10.2006 13:29:39
2 варианта результатов:
как запрос, разницы 1) 1,06720578703704 (неудобно же работать)
как вычисляемое поле 2) 31.12.1899 1:36:46 (тоже не лучший вариант)
Понятно?
Мне же надо в таком виде, чтобы потом прибавлять эту разницу 01.00.00 1:24:57) с помощью PHP к другой дате!


 
Megabyte ©   (2007-02-27 12:09) [4]

Да, забыл, мне еще надо вычислить среднее арифметическое этой разницы. Запросом бы, конечно, было бы удобнее, но как потом формат 1,06720578703704 представить в понятном для пользователя виде?


 
Desdechado ©   (2007-02-27 12:13) [5]

> 1,06720578703704 (неудобно же работать)
Для:

> прибавлять эту разницу к другой дате
и
> вычислить среднее арифметическое
самое оно.

А для показа пользователю переведи в сутки:часы:мин:сек.
Помни, что интервал (расстояние между датами) и дата (точка на оси времени) - вещи разные.


 
Megabyte ©   (2007-02-27 12:24) [6]


> А для показа пользователю переведи в сутки:часы:мин:сек.

Есть стандартная функция?


 
Desdechado ©   (2007-02-27 12:33) [7]

x:= 1,06720578703704;
сутки := trunc( x );
часы := Trunc( ( x - сутки )*24 );
далее, думаю, понятно


 
Megabyte ©   (2007-02-27 12:36) [8]

:) Спасибо



Страницы: 1 вся ветка

Текущий архив: 2007.05.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.076 c
3-1172059555
newby
2007-02-21 15:05
2007.05.13
firebird embedded


15-1176453614
Riply
2007-04-13 12:40
2007.05.13
Презумпция невиновности.


2-1177246379
junior_177
2007-04-22 16:52
2007.05.13
Формула Магического квадрата


1-1173776106
Demondelphi
2007-03-13 11:55
2007.05.13
Буфер обмена, обмен данными между главной и дочерними формами


15-1176448967
Calibr
2007-04-13 11:22
2007.05.13
С Delphi на C++