|
Сравнение времени в 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 Тогда
//Лалалала, это ночь, детка.
КонецЕсли;
итого имеем одну переменную, две встроенных функций и два сравнения.
|
|