Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 10:46

У двух Дат сравнить только Время

Автор xDD, 15 авг 2013, 13:57

0 Пользователей и 1 гость просматривают эту тему.

xDD

Как у  двух Дат сравнить только Время?

Дата 01.01.0001 9:00:00 00:00:00 и Дата 15.08.2013 13:46:21
Необходимо сравнить только части времени 9:00:00 и 13:46:21

Сделал таким образом, но решение кажется мне не очень верным.

Флаг = Ложь;
    ТекущееВремя = ТекущаяДата() - НачалоДня(ТекущаяДата());
    НачалоРаботы =Константы.НачалоРабочегоДня.Получить() - НачалоДня(Константы.НачалоРабочегоДня.Получить()) ;
    Если  НачалоРаботы>ТекущееВремя Тогда
        Флаг = Истина;
    КонецЕсли;
    Возврат Флаг;   

xDD


Besart

 Формат(Дата, "ДЛФ=T") > Формат(Дата2, "ДЛФ=T") )

sadovod

Или так
(Час(Дата) * 3600 + Минута(Дата) * 60 + Секунда(Дата)) > (Час(Дата2) * 3600 + Минута(Дата2) * 60 + Секунда(Дата2))

Dethmontt

Цитата: Besart от 15 авг 2013, 14:48Формат(Дата, "ДЛФ=T") > Формат(Дата2, "ДЛФ=T")

И чо это работает? (Получается же мы строки  сравниваем, не?)
Добавлено: 17 авг 2013, 04:13


Формат(<Значение>, <ФорматнаяСтрока>)
Возвращаемое значение:

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

mixqn

Цитата: Dethmontt от 17 авг 2013, 04:12Получается же мы строки  сравниваем, не?
Да, сравниваются строки, но должно работать по идее (хотя я не проверял).

Besart


Dethmontt

Цитата: mixqn от 17 авг 2013, 10:54Да, сравниваются строки, но должно работать по идее (хотя я не проверял).

Это не правильно сравнивать строки!
Нужно работать со значением, а не с его представлением.

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

mixqn

ну представление времени вряд ли изменится с изменением платформы. время от платформы не зависит. если только параметры форматной строки изменятся - ну так если так рассуждать, то и функции могут поменяться.
а время как было так и останется вне платформы. если одно время больше другого, то и строка, его представляющая, будет больше.
т.е. не вижу ничего особо криминального в данном случае.

ну это ИМХО.
Добавлено: 18 авг 2013, 11:03


нельзя сравнивать представление объектов (справочников, документов и т.п.) потом, что представление может измениться и тогда сначала А буедет больше Б, а потом станет наоборот. При сравнении времени это невозможно.
10:58 всегда будет 10:58 и если вдруг станет 10:59, то это уже не 10:58, т.е. не А.

как-то так...

GRADUS

Я буду представлять третью сторону - я против.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск