Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: timespan и datetime  (Прочитано 9287 раз)
0 Пользователей и 1 Гость смотрят эту тему.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« : 02-09-2011 02:11 » 

доброго времени суток форумчане!
не могу разобраться с timespan и datetime! есть список с айпишниками и временем последней рабочей сессией так вот нужно узнать какой из айпи не логинился более 32 часов! спосик вида:

  • 90.239.72.248|28.08.2011 0:51:03
    221.120.125.141|28.08.2011 0:51:03
    84.243.28.165|28.08.2011 0:51:03

я пыталсо узнать разницу таким образом:
Код:
ip:=trim(copy (list.string[i], pos ('|', list.string[i]) + 1, 20));
   dt2:=strtodatetime(ip);
   dt:=now;
   ts:=dt-dt2;
    if ts.Totalhours>32 then.......
где

Код:
var
ts:ttimespan;
dt,dt2:tdatetime;
и не только но ничего не получилось!! пишет [DCC Error] Unit1.pas(123): E2010 Incompatible types: 'TTimeSpan' and 'Extended'
Может кто-нибудь сталкивался с совместной работой timespan и datetime??? Не понял
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 02-09-2011 03:44 » 

попробуй

var
ts:tdatetime;
dt,dt2:tdatetime;
Записан

zubr
Модератор

by
Offline Offline
Пол: Мужской

« Ответ #2 : 02-09-2011 03:58 » 

DecodeDateTime(dt-dt2, ...
Записан
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #3 : 02-09-2011 13:36 » 

попробуй

var
ts:tdatetime;
dt,dt2:tdatetime;
так пробовал но получаю значение типа 0.16876677654 и как перевести это в часы я понятия не имею!!

Добавлено через 4 минуты и 19 секунд:
DecodeDateTime(dt-dt2, ...
не вижу смысла мне ведь нада разницу в часах а не разбить на год,месяц и день...
« Последнее редактирование: 02-09-2011 13:40 от maloy_ya » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 02-09-2011 14:37 » new

Не знаю, как тут, а во многих системах целая часть означает дни, дробная - части дня. Соответственно, 0.16876677654 может означать 4.05040263696 часа, или 4 часа, 3.0241582176 минуты, или 04:03:01.45
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #5 : 02-09-2011 14:43 » 

Не знаю, как тут, а во многих системах целая часть означает дни, дробная - части дня. Соответственно, 0.16876677654 может означать 4.05040263696 часа, или 4 часа, 3.0241582176 минуты, или 04:03:01.45
прелесть а как ты выщитал все это??
Записан
zubr
Модератор

by
Offline Offline
Пол: Мужской

« Ответ #6 : 02-09-2011 15:28 » 

DecodeDateTime(dt-dt2, ...
не вижу смысла мне ведь нада разницу в часах а не разбить на год,месяц и день...
В переменной AHour ты как раз получишь разницу в часах.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 02-09-2011 17:40 » 

maloy_ya, а ты не знаешь, сколько в одних сутках часов, минут, секунд?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #8 : 02-09-2011 18:07 » 

maloy_ya, а ты не знаешь, сколько в одних сутках часов, минут, секунд?
да знаю но я не пойму как преобразовать непонятное мне чмсло в еще 3 непонятных мне числа и получить из этого время!

Добавлено через 1 минуту и 57 секунд:
DecodeDateTime(dt-dt2, ...
не вижу смысла мне ведь нада разницу в часах а не разбить на год,месяц и день...
В переменной AHour ты как раз получишь разницу в часах.


спасибо за вариант! оч интерестно получиться ли! буду дома покумекаю!!
« Последнее редактирование: 02-09-2011 18:09 от maloy_ya » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 02-09-2011 18:54 » 

maloy_ya, умножать то ты умеешь? Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #10 : 02-09-2011 22:31 » 

maloy_ya, умножать то ты умеешь? Улыбаюсь
да вроде Улыбаюсь

Добавлено через 10 минут и 42 секунды:
это все хорошо а как правильно обращаться с timespan-ом меня никто не научит не подскажет??

Добавлено через 3 минуты и 58 секунд:
DecodeDateTime(dt-dt2, ...
не вижу смысла мне ведь нада разницу в часах а не разбить на год,месяц и день...
В переменной AHour ты как раз получишь разницу в часах.


кстатии я не могу понять почему моя делфя материться на DecodeDateTime пишет типа undeclareted indetifier!!
юзаю 2010
« Последнее редактирование: 02-09-2011 22:45 от maloy_ya » Записан
zubr
Модератор

by
Offline Offline
Пол: Мужской

« Ответ #11 : 03-09-2011 05:55 » 

Я не знаю в каком юните это в Delphi2010, в старой доброй 7-ке - в юните DateUtils
Кстати, там же (DateUtils) есть более удобная функция для твоей задачи:
function HoursBetween(const ANow, AThen: TDateTime): Int64;
Открывай HELP и задавай поиск.
По поводу timespan - не знаю что за тип, судя по всему он в 2010 появился.
Записан
maloy_ya
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #12 : 06-09-2011 00:49 » 

Я не знаю в каком юните это в Delphi2010, в старой доброй 7-ке - в юните DateUtils
Кстати, там же (DateUtils) есть более удобная функция для твоей задачи:
function HoursBetween(const ANow, AThen: TDateTime): Int64;
Открывай HELP и задавай поиск.
По поводу timespan - не знаю что за тип, судя по всему он в 2010 появился.

спасибо огромное за помощь работает отлично!!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines