Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
15-1176473077
Desdechado
2007-04-13 18:04
2007.05.13
Куда подевались остальные страницы форума?


2-1176977907
frameZ
2007-04-19 14:18
2007.05.13
копирование с помощью потоков


15-1176693141
DelphiN!
2007-04-16 07:12
2007.05.13
Спам о заработке в Интернете


15-1176465649
ПЛОВ
2007-04-13 16:00
2007.05.13
Вопрос по мудрёному SQL-у )


2-1177351731
Kostafey
2007-04-23 22:08
2007.05.13
Запретить визуальному компоненту получение фокуса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский