0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43

Сравнение двух дат

14.06.2015, 07:06. Показов 4687. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно сравнить две даты, первая берется из таблицы, вторая дата это текущая, написал код, выдает ошибку, подскажите
C++
1
CompareDate(Date(), ADOQuery2->FieldByName("Data")->AsDateTime
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2015, 07:06
Ответы с готовыми решениями:

Сравнение двух дат
Всем Доброго времени суток!!! Подскажите, пожалуйста, как сравнить 2 даты в формате "ДД.ММ.ГГГГ ЧЧ.ММ.СС" в C++ Builder, для...

Сравнение дат
Добрый день. Существует ли функция для сравнения переменных типа DateTime? Т.е. у меня есть массив DateTime a и переменная DateTime b....

Сравнение дат
Подскажите пожалуйста как правильно сравнивать даты. Использую функцию DateUtils.hpp В Мемо1 есть набор дат 08.01.2013 09.01.2013 ...

40
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 12:16  [ТС]
Студворк — интернет-сервис помощи студентам
volvo, скинуть полностью код этого?

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    ADOQuery2->Close();
    ADOQuery2->SQL->Clear();
    ADOQuery2->SQL->Text = "SELECT Nmesta FROM stoyanka";
    ADOQuery2->Open();
    ADOQuery2->First();
    while (!ADOQuery2->Eof)
    {
        int index = ComboBox1->Items->IndexOf(ADOQuery2->FieldByName("Nmesta")->AsString);
        if (index > -1)
        {
            ComboBox1->Items->Delete(index);
        }
        ADOQuery2->Next();
    }
 
 
    ADOQuery2->Close();
    ADOQuery2->SQL->Clear();
    ADOQuery2->SQL->Text = "SELECT * FROM stoyanka";
    ADOQuery2->Open();
    ADOQuery2->First();
    while (!ADOQuery2->Eof)
    {
       if((CompareTime(Time(), ADOQuery2->FieldByName("Vremya_vyezda")->AsDateTime) *
           CompareTime(Time(), ADOQuery2->FieldByName("Vremya_vuyezda")->AsDateTime) > 0))
        {
            ComboBox1->Items->Add(ADOQuery2->FieldByName("Nmesta")->AsString);
        }
        ADOQuery2->Next();
    }
 
 
        ADOQuery2->Close();
    ADOQuery2->SQL->Clear();
    ADOQuery2->SQL->Text = "SELECT * FROM stoyanka";
    ADOQuery2->Open();
    ADOQuery2->First();
    while (!ADOQuery2->Eof)
    {
       if  (Dateutils::CompareDate(Date(), ADOQuery2->FieldByName("Data")->AsDateTime))
          {
            ComboBox1->Items->Add(ADOQuery2->FieldByName("Nmesta")->AsString);
        }
        ADOQuery2->Next();
все работает кроме одного
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 12:16
volvo, не уверен, что ТС осознаёт смысл этих операций.
Kolyamix, скажите что вы хотите получить, а не тот путь что вы придумали для решения.
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 12:23  [ТС]
Rius, согласен, не до конца осознаю, я хочу в итоге получить умножение количества часов, которое машина пробыла на стоянке, на тариф (если до 5 часов стоянка, то умножается на 60, от 5 до 10 умножается на 55 и т.д), а этот код работает, почти, когда занимается место, я проверяю, его в items нет, так и должно быть, но, когда я меняю место стоянки, то место, которое было до этого, просто удаляется и изменяется на новое, мне же нужно, чтобы оно еще, когда меняется на другое, добавлялось в items, оно же становится свободным
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 16:07
Напишите и отладьте алгоритм на бумаге, в виде схемы алгоритма.
Потом научитесь находить разницу в часах.
Потом видно будет...
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 16:31  [ТС]
Rius, я знаю как находить разницу в часах и в алгоритме уже разобрался, я не знаю как правильно отнимать время, нельзя просто хотя бы на словах сказать, что использовать?
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 16:57
C++
1
2
3
4
5
  TDateTime myDate = EncodeDateTime(2000, 12, 31, 23, 0, 0, 0);
  ShowMessage("myDate = " + DateTimeToStr(myDate));
 
  myDate = IncMinute(myDate, -100);
  ShowMessage("myDate - 100 minutes = " + DateTimeToStr(myDate));
Как-то так
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 17:12  [ТС]
всё, я исправил свой, код, теперь все работает корректно, но все равно спасибо
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 17:17
Всё.
Неявное преобразование строки неизвестного формата в дату. Вычитание объектов TDateTime в виде double, без представления о том, что представляет собой этот double из TDateTime.
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 17:18  [ТС]
Rius, в итоге получается точное значение полностью даты, я уже поправил
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 17:19
Без представления о том, что внутри, вы расставляете костыли.
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 17:20  [ТС]
я представляю что внутри
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 17:21
Kolyamix, что представляет собой TDateTime, приведённый к double?
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 17:23  [ТС]
Rius, это обычное число с плавающей точкой
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 17:23
Я знаю что такое double.
Вопрос: что представляет собой TDateTime, приведённый к double? Какой смысл несёт это число?
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 17:25  [ТС]
это значение с учетом дней, часов, минут, секунд
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 17:27
Неверно. Что именно представляет собой значение этого числа? Что есть целая часть, что дробная?
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 17:28  [ТС]
целая - это количество дней, дробная часы
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 17:29
Неверно.
0
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 43
14.06.2015, 17:30  [ТС]
Rius, почему? а что тогда?
0
Эксперт .NET
 Аватар для Rius
13853 / 7895 / 1707
Регистрация: 25.05.2015
Сообщений: 23,963
Записей в блоге: 14
14.06.2015, 17:30
Целая часть это число дней с 30 декабря 1899 года. Дробная - часть от суток, 24 часов. 0,5 означает 12 часов.
Отсюда можно выразить разницу в часах. И отсюда же видно, что умножение на 60 вообще не в тему.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2015, 17:30

Сравнение временного интервала(дат) с заданной
Приветствую всех, уважаемые форумчане! Заранее прошу простить, если это где-то уже решено(сам не нашел). Пишу на билдере...

Сравнение дат, представленных в текстовом виде
Есть мемо. В нем есть даты. Требуется найти наименьшую дату. Кто знает кроме массива что лучше?

Сравнение дат
Form1->ADOQuery1->Close(); Form1->ADOQuery1->SQL->Clear(); AnsiString zap3; zap3="Delete * from Rezult where...

Сравнение дат в указанном диапазоне
Добрый день! Сравнение отрабатывает не правильно, все перепробовал. Нужно чтобы прога выдала сообщение если системное время попадает в...

Сравнение двух дат и вывод дат находящихся между ними
Здравствуйте! Тут такое дело, вводятся две определенные ДАТЫ в Edit1 и Edit2 в формате ДД.ММ.ГГГГ, нужно найти все ДАТЫ, которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru