Имя: Пароль:
1C
 
Сравнение времени
0 УПП
 
28.11.05
16:29
Мне нужно сравнить время, можно ли так?

ТекущееВремя = Формат(ТекущаяДата(),"ДЛФ=В");
Если ТекущееВремя = "12:30:00" Тогда
1 Волшебник
 
модератор
28.11.05
16:29
некомильфо
2 УПП
 
28.11.05
16:29
(1) что что извените? :)
3 Волшебник
 
модератор
28.11.05
16:30
(2) т.е. не красиво, не элегантно, не модно, методически неверно.
4 УПП
 
28.11.05
16:39
(3) а как сравнить верно? подскажите плиз
5 Волшебник
 
модератор
28.11.05
16:49
сравнивать надо переменные типа "Дата".
6 Волшебник
 
модератор
28.11.05
16:50
или строки, но обе, прошедшие через функцию Формат
7 MikleV
 
28.11.05
16:53
СистемноеВремя = Дата("20051126030000");
   Если  ТекущаяДата() = СистемноеВремя тогда


наверно,так
8 УПП
 
28.11.05
16:53
ну все работает же :)
9 Волшебник
 
модератор
28.11.05
16:54
(7) ты не понял суть вопроса. Сравнить надо именно время
10 Волшебник
 
модератор
28.11.05
16:54
(8) Работает при данных региональных настройках.
11 УПП
 
28.11.05
16:55
Мне то надо именно заданное время, 12:30:00 и 13:00:00
12 Samosval
 
28.11.05
16:56
ВремяХ = "12:30:00"
13 УПП
 
28.11.05
16:57
(10) Хорошо, ну вот я через Формат: ТекущееВремя = Формат(ТекущаяДата(),"ДЛФ=В"); получаю текущее время, а как же я через формат получу именно нужное мне время?
16 Волшебник
 
модератор
28.11.05
16:58
(13) Догадайся. Посмотри на 7.
17 УПП
 
28.11.05
17:17
А если так: мне то надо время получить СистемноеВремя = Время("20051126030000"); там вроде есть такая фугкция которая от даты только время получает
18 Волшебник
 
модератор
28.11.05
17:18
(17) Воспользуйся своим же Формат. Или сконструируй дату из любого дня, извлеченных часов и минут и 0 секунд.
19 Волшебник
 
модератор
28.11.05
17:20
Кстати, рекомендую сравнивать не на равенство, а проверять диапазон из 5 минут, потому что ровно в 12:30:00 система может быть чем-нибудь занята или обработка ожидания сработает в неровное количество секунд.
20 УПП
 
28.11.05
17:22
А как это расшифровывается: ("20051126030000") я так понимаю 2005 это год, 11 это месяц, 26 число 030000 это само время да?
21 УПП
 
28.11.05
17:22
+20 А время задается в формате AM PM да?
23 Волшебник
 
модератор
28.11.05
17:24
(21) в формате ЧЧММСС
24 Cerrg
 
28.11.05
17:25
Волшебник, а прямого "изъятия" времени из даты нету? (типовым оператором)

что-то ищу, а найти не могу...
25 Волшебник
 
модератор
28.11.05
17:26
(4) Думаю, можно организовать.

ЧислоСекундСПолуночи = НекаяДата - НачалоДня(НекаяДата);
26 Cerrg
 
28.11.05
17:27
Дата (Date)
Описание:
Значения данного типа содержит дату григорианского календаря (с 01 января 0001 года) и время с точностью до секунды.
Литералы:
Строка цифр, заключенная в одинарные кавычки вида: 'ГГГГММДДччммсс', где:




ГГГГ - четыре цифры года (включая тысячелетие и век);

ММ - две цифры месяца:

ДД - две цифры даты;

чч - две цифры часа (в 24-х часовом формате);

мм - две цифры минут;

сс - две цифры секунд;
Во встроенном языке в литерале типа Дата обязательно должно задаваться значение года, месяца и дня. Для задания даты соответствующей началу отсчета достаточно указать '00010101'. Допускается при указании литералов типа Дата опускать последние символы (секунды, минуты, часы и т.д.). Это означает, что данные параметры будут равны нулю (для времени) или
единице (для даты). В литерале даты допускается использование различных разделителей.
27 УПП
 
28.11.05
17:31
(19) А как тогда подстраховаться? Если такое может возникнуть? Проверка диапазона из 5 минут т.е. обработка ожидания каждые 5 минут должна срабатывать? Как подстраховться на тот случай что система может быть занята?
28 Волшебник
 
модератор
28.11.05
17:32
(27) шедулер и новый сеанс v8
29 УПП
 
28.11.05
17:41
сделал так:

ВремяСообщения = Формат('20051126123000',"ДЛФ=В");
ВремяЗапуска   = Формат('20051126130000',"ДЛФ=В");

и так все работает
30 Волшебник
 
модератор
28.11.05
17:43
(29) Сегодня же 28 число...
31 УПП
 
28.11.05
18:10
(30) да какая разница, мне саоме главное ВРЕМЯ :)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший