Приветствую!
Хочу сделать обновление в зависимости от времени. Если обновляем в день создания текущего файла, или до 3х ночи следующего дня - то шаг обновления не делаем.
Не работает условие:
Let IH = 3;
Let DateLastData = date(FileTime(a)-MakeTime(IH));
If date(today(1)-MakeTime(IH)) > DateLastData then
...
У меня файл создан 28.02.2017 18:34, сейчас 01.03.2017 1:37, то есть по факту в условии будет 28.02.2017 > 28.02.2017, но почему то QS считает истиной.
Привет.
Проводите сравнение в числовом формате.
Дата - это целая часть числа, а время - дробная.
Цитата: LoryMax от 28 февраля 2017, 10:38:09
Приветствую!
Хочу сделать обновление в зависимости от времени. Если обновляем в день создания текущего файла, или до 3х ночи следующего дня - то шаг обновления не делаем.
Не работает условие:
Let IH = 3;
Let DateLastData = date(FileTime(a)-MakeTime(IH));
If date(today(1)-MakeTime(IH)) > DateLastData then
...
У меня файл создан 28.02.2017 18:34, сейчас 01.03.2017 1:37, то есть по факту в условии будет 28.02.2017 > 28.02.2017, но почему то QS считает истиной.
Потому что по факту в условии будет не "28.02.2017 > 28.02.2017", а "28.02.2017 22:37 > 28.02.2017 15:34" что дает истину.
Фунцкия Date() только преобразовывет формат данных для отображения, но не обрезает время.
Используйте Floor(Num(Date(...))), тем самым вы отрежите время.