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