|
Как сравнить два времени? | ☑ | ||
---|---|---|---|---|
0
AnisaL
30.05.13
✎
14:03
|
День добрый!!!
Скажите пожалуйста, как сравнить текущее время с определенным временем, например с 9-ью часами вечера? |
|||
1
patapum
30.05.13
✎
14:04
|
(0) самое примитивное - получаешь часы, минуты, секунды, генерируешь время без даты и сравниваешь
|
|||
2
Maxus43
30.05.13
✎
14:06
|
9 вечера = Дата('0000000210000');
ТекВремяВЧасах = датаМоя - НачлоДня(датаМоя); и сравниваешь |
|||
3
Mikeware
30.05.13
✎
14:07
|
блиннн.
во люди жадные... |
|||
4
AnisaL
30.05.13
✎
14:08
|
(2) Спасибо)))
|
|||
5
AnisaL
30.05.13
✎
14:19
|
(3) это ты к чему?
|
|||
6
AnisaL
30.05.13
✎
15:03
|
(2) {МодульОбычногоПриложения(1250)}: Преобразование значения к типу Дата не может быть выполнено
|
|||
7
Ненавижу 1С
гуру
30.05.13
✎
15:04
|
(6) кот давай
|
|||
8
AnisaL
30.05.13
✎
15:04
|
+(6) ДатаВремя = Дата("0000000210000");
|
|||
9
Frost616
30.05.13
✎
15:05
|
(8) не ", а '
|
|||
10
Wobland
30.05.13
✎
15:05
|
='000000210000'
|
|||
11
AnisaL
30.05.13
✎
15:07
|
(9) (10) {МодульОбычногоПриложения(1250,31)}: Неправильная константа типа Дата
ВремяЗакрытияОдинЭски = Дата(<<?>>'0000000210000'); (Проверка: Толстый клиент (обычное приложение)) |
|||
12
Mitriy
30.05.13
✎
15:08
|
Дата("00010101210000")
|
|||
13
Frost616
30.05.13
✎
15:09
|
(11) одной цифры не хватает
|
|||
14
Frost616
30.05.13
✎
15:10
|
+(13) 'ггггммддччммсс'
|
|||
15
Mitriy
30.05.13
✎
15:12
|
(2) не будет работать... разные типы...
|
|||
16
AnisaL
30.05.13
✎
15:13
|
(12) да, так правильно)
|
|||
17
Wobland
30.05.13
✎
15:13
|
(12) точно ж первоя января первого года
|
|||
18
AnisaL
30.05.13
✎
15:13
|
(15) {МодульОбычногоПриложения(1254)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
|
|||
19
Mitriy
30.05.13
✎
15:13
|
Секунды = Дата("00010101210000") - Дата("00010101180000");
|
|||
20
AnisaL
30.05.13
✎
15:14
|
+ (18) Если ТекВремяВЧасах < ВремяЗакрытияОдинЭски Тогда
|
|||
21
Grobik
30.05.13
✎
15:17
|
ЧасыДляСравнения*3600;
ВремяДляСравнения=Дата(НачалоДня(ТекущаяДата()))+ЧасыДляСравнения*3600;; И сравнивать. |
|||
22
Mitriy
30.05.13
✎
15:17
|
(18) можно посчитать разницу запросом:
"ВЫБРАТЬ РАЗНОСТЬДАТ(&Дата1, &Дата2, СЕКУНДА) КАК Разница" Вместо секунд можно использовать и Минута, и Час... |
|||
23
Frost616
30.05.13
✎
15:18
|
(18)
Дата1 = Дата('00010101210000'); Дата2 = Дата('00010101210012'); Если Дата2 > Дата1 ТОгда Сообщить("Дата2 больше"); КонецЕсли; все работает |
|||
24
Grobik
30.05.13
✎
15:19
|
Копипаст глюкнул
ВремяДляСравнения=Дата(НачалоДня(ТекущаяДата()))+ЧасыДляСравнения*3600; |
|||
25
AnisaL
30.05.13
✎
15:22
|
(23) ага, это понятно, но мне надо сравнить с текущим временем
|
|||
26
Frost616
30.05.13
✎
15:22
|
(0) а вообще суть проблемы в студию. Для каких целей это нужно?
|
|||
27
Frost616
30.05.13
✎
15:24
|
(25) именно по времени сравнение?
|
|||
28
Maxus43
30.05.13
✎
15:25
|
(25) ну дак в (2) же правильно, кроме того что единички в дате забыл) чтоб сравнить с текущим своим временем
|
|||
29
Frost616
30.05.13
✎
15:26
|
(25) что тогда мешает отрезать время, перегнать в числа и сравнить?
|
|||
30
salvator
30.05.13
✎
15:26
|
Время1 = Дата1-НачалоДня(Дата1);
Время2 = Дата2-НачалоДня(Дата2); Если Время1 = Время2 Тогда Сообщить("Время совпадает!"); Иначе Сообщить("Время не совпадает!"); КонецЕсли; |
|||
31
НЕА123
30.05.13
✎
15:27
|
(20)
Если Час(ТекВремяВЧасах) < ВремяЗакрытияОдинЭски |
|||
32
Frost616
30.05.13
✎
15:27
|
(30) +100500
|
|||
33
AnisaL
30.05.13
✎
15:29
|
(27) ага, именно по времени закрытие 1с-ки должно произойти)
|
|||
34
AnisaL
30.05.13
✎
15:30
|
(28) к сожалению нет, ошибка (18)
|
|||
35
Frost616
30.05.13
✎
15:31
|
(33) Чиво? а проверять в какой момент?
|
|||
36
AnisaL
30.05.13
✎
15:32
|
(35) стоит обработчик "ПодключитьОбработчикОжидания"
|
|||
37
salvator
30.05.13
✎
15:34
|
(34) А что непонятного в тексте ошибки?
|
|||
38
Великий Нехочуха
30.05.13
✎
15:36
|
а чем не подходит -
Час(ТекущаяДата())>=21; |
|||
39
AnisaL
30.05.13
✎
15:36
|
(37) понятно - число сравнивается с датой
|
|||
40
salvator
30.05.13
✎
15:38
|
(39) Так сравнивай число с числом. Примеров уже туева хуча.
|
|||
41
samozvanec
30.05.13
✎
15:38
|
вроде не пятница...
|
|||
42
Frost616
30.05.13
✎
15:42
|
(39) а если так
НужноеВремяЧисло = 210000; //допустим в 21:00 ТекущееВремяЧисло = Число(Строка(Час(ТекущаяДата()))+Строка(Минута(ТекущаяДата()))+Строка(Секунда(ТекущаяДата()))); Если НужноеВремяЧисло < ТекущееВремяЧисло ТОгда //что-то там КонецЕсли; ;) |
|||
43
Wobland
30.05.13
✎
15:44
|
(42) 100*час+10*мин+сек
|
|||
44
Wobland
30.05.13
✎
15:45
|
(43) всё, вижу строки ;)
|
|||
45
Frost616
30.05.13
✎
15:45
|
(43) не надо искать легких путей)))
|
|||
46
Frost616
30.05.13
✎
15:50
|
(43) раз уж на то пошло то 10000*час+100*мин+сек
|
|||
47
AnisaL
30.05.13
✎
15:54
|
(42) да, вот так получилось) спасибо!
|
|||
48
salvator
30.05.13
✎
15:57
|
(47)
НужноеВремяЧисло = 21*60*60; ТекущееВремяЧисло = ТекущаяДата()-НачалоДня(ТекущаяДата()); Если НужноеВремяЧисло <> ТекущееВремяЧисло Тогда ... |
|||
49
AnisaL
30.05.13
✎
15:59
|
(48) да что ж ты не успокоишься, я ж написала, все получилось)
|
|||
50
salvator
30.05.13
✎
16:00
|
(49) Если хочешь делать через *опу, ок.
|
|||
51
AnisaL
30.05.13
✎
16:02
|
(50) кто такое сказал? наоборот я и тему создала чтоб узнать как правильнее сделать)
|
|||
52
Frost616
30.05.13
✎
16:03
|
(51) вообще правильнее в (48), то был стебный вариант
|
|||
53
AnisaL
31.05.13
✎
07:43
|
(52) ну вот( а у меня он работает
|
|||
54
AnisaL
31.05.13
✎
07:47
|
(52) ваще не хорошо над девушками стебаться.
|
|||
55
НЕА123
31.05.13
✎
10:52
|
по мне (38)(31) проще.
|
|||
56
ptiz
31.05.13
✎
10:56
|
Жаль, что пост (30) автор не видит.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |