Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.05.2009, 21:56
papis papis вне форума
Прохожий
 
Регистрация: 11.04.2009
Сообщения: 10
Репутация: 10
По умолчанию Сравнение даты из базы и текущего времени системы

Добрый вечер.
Есть такая проблема - пытаюсь найти разницу в минутах даты(со временем) из БД и текущую дату систему, делаю так:

i_minutes: int64;

i_minutes := dateutils.MenutesBetween(form.sql_minutes.FieldVal ue['start_date'], Now).

В результате выполнения i_minutes = 0, хотя формат даты из базы 'dd.mm.yyyy hh.mm.ss'

Подскажите, пожалуйста, что не так делаю? или есть какой-то другой способ проделать такое?
Ответить с цитированием
  #2  
Старый 24.05.2009, 22:13
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Попробуйте иначе задавать дату:
Код:
dateutils.MenutesBetween(form.sql_minutes.FieldByName('start_date').AsDateTime, Now).
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 24.05.2009, 23:20
papis papis вне форума
Прохожий
 
Регистрация: 11.04.2009
Сообщения: 10
Репутация: 10
По умолчанию

сделал так:

i_minutes: int64;
k: double;

далее

k := Now;
i_minutes := dateutils.MinutesBetween(form1.sql_minutes.Fields. Fields[0].AsDateTime, k);

В итоге i_minutes=0, хотя при пошаговом запуске видно что у даты из БД значение - 39957,772523, а k=39957,971657.

Может еще есть какой-нибудь способ?
Ответить с цитированием
  #4  
Старый 24.05.2009, 23:54
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Надо поэкспериментировать..
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 25.05.2009 в 00:01.
Ответить с цитированием
  #5  
Старый 25.05.2009, 00:08
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну незнаю, провел эксперимент с БД. Все нормально возвращает в любом варианте.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 25.05.2009, 00:19
papis papis вне форума
Прохожий
 
Регистрация: 11.04.2009
Сообщения: 10
Репутация: 10
По умолчанию

а можешь написать пример?

а не может глючить из-за того, что у меня vista ultimate x64, а пользуюсь drlphi 7?
Ответить с цитированием
  #7  
Старый 25.05.2009, 00:23
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Так я вашим-же примером и воспользовался.
Насчет глюка x64 неуверен, что тут проблема, хотя я на х32 сижу и проверял на D2009

У вас D7 с обновлениями?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 25.05.2009, 08:44
vinni vinni вне форума
Начинающий
 
Регистрация: 26.01.2006
Сообщения: 135
Репутация: 10
По умолчанию

Попробуй так:
Код:
D: TDateTime;
...
D := Now - form.sql_minutes.FieldValue['start_date'].AsDateTime;
Ответить с цитированием
  #9  
Старый 27.05.2009, 00:50
papis papis вне форума
Прохожий
 
Регистрация: 11.04.2009
Сообщения: 10
Репутация: 10
По умолчанию

спасибо, за помощь, разобрался!

а не подскажите ещемомент:
как можно по текущей дате вернуть дату первого числа текущего месяца и дату последнего числа текущего месяца, желательно вплоть до секунд?
Ответить с цитированием
  #10  
Старый 27.05.2009, 07:55
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Элементарно, для этого есть модуль DateUtils:

Код:
StartOfTheMonth(Now) 
EndOfTheMonth(Now);
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #11  
Старый 27.05.2009, 20:04
papis papis вне форума
Прохожий
 
Регистрация: 11.04.2009
Сообщения: 10
Репутация: 10
По умолчанию

вот блин... действительно.
спасибо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:26.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter