Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
15-1176539127
SerJaNT
2007-04-14 12:25
2007.05.13
Навернулся жесткий диск?


15-1176570773
Desdechado
2007-04-14 21:12
2007.05.13
Системная библиотека перемещена в памяти


15-1176384751
botvin
2007-04-12 17:32
2007.05.13
Менеджер памяти


15-1176231879
Иксик
2007-04-10 23:04
2007.05.13
Посоветуйте чего-нибудь почитать


15-1176566435
Kerk
2007-04-14 20:00
2007.05.13
Письма счастья




   Наверх