Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1200740613
Dmitry S
2008-01-19 14:03
2008.02.24
Pixel Art


2-1201623567
Lex-85
2008-01-29 19:19
2008.02.24
Edit и CoolBar


2-1201086793
Alex_C
2008-01-23 14:13
2008.02.24
Медленное закрытие программы


8-1174370882
Дмитрий (Гомель)
2007-03-20 09:08
2008.02.24
Заголовок wav файла


2-1201684718
Lex-85
2008-01-30 12:18
2008.02.24
Ошибка в Maskedit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский