Имя: Пароль:
1C
 
Сравнение времени в 1С
0 tatoshka0403
 
07.07.16
11:23
Подскажите пожалуйста почему вот в этом условии

ТекДата=Формат(ТекущаяДата(),"ДЛФ=T");
    Дата2300=Формат('20010101230000',"ДЛФ=T");
    Дата235959=Формат('20010101235959',"ДЛФ=T");
    Дата0800=Формат('20010101080000',"ДЛФ=T");
    Дата0000=Формат('20010101000000',"ДЛФ=T");
    
    Если ((ТекДата>=Дата2300) И (ТекДата<=Дата235959)) ИЛИ ((ТекДата>=Дата0000) И (ТекДата<Дата0800)) тогда

На строке ((ТекДата>=Дата0000) И (ТекДата<Дата0800)) показывает истина
ТекДата 11 19
Что не так?
1 Господин ПЖ
 
07.07.16
11:25
не смущает что это строки?
2 PR
 
07.07.16
11:26
(0) Да все так, вроде
3 lodger
 
07.07.16
11:26
гы. вы же строковые представления дат сравниваете. уберите формат.
4 tatoshka0403
 
07.07.16
11:28
(3) Мне надо время сравнить, если уберу будет даты сравнивать
5 lodger
 
07.07.16
11:29
(4) отбросьте даты другим образом.
6 tatoshka0403
 
07.07.16
11:33
(5) Вот так сделал
ТекДата=ТекущаяДата();
    Дата2300=НачалоДня(ТекущаяДата())+3600*23;
    Дата235959=КонецДня(ТекущаяДата());
    Дата0800=НачалоДня(ТекущаяДата())+3600*8;
    Дата0000=НачалоДня(ТекущаяДата());
7 lodger
 
07.07.16
11:36
лол. ну ладно. делайте так. я то думал это прикладная задача.
обратите внимание на СП, там есть описание функций, как Час() и Минута().
8 mistеr
 
07.07.16
11:37
(5) А именно

Время = МояДата = НачалоДня(МояДата);
9 mistеr
 
07.07.16
11:38
(8) Тьфу, то есть

Время = МояДата - НачалоДня(МояДата);
10 lodger
 
07.07.16
11:43
(9) там в условии прикол.
все решает экономичнее и проще через Час()
ТекЧас = Час(ТекущаяДата());
Если ТекЧас <8 Или ТекЧас = 23 Тогда
//Лалалала, это ночь, детка.
КонецЕсли;

итого имеем одну переменную, две встроенных функций и два сравнения.