Операции с датами

Тема в разделе "Lotus - Программирование", создана пользователем SkyDream, 24 авг 2006.

Статус темы:
Закрыта.
  1. SkyDream

    SkyDream Гость

    Подскажите пожалуйста как выполнитить такие действия с 2 датами:
    сравнение, получение на сколько дней 1 дата болше второй, выполнить условие если 1 дата равна 2 то выполняем то то
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Первое и третье так и делаются.
    Второе вычитанием. Получишь разницу в секундах.
     
  3. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    А все таки?

    Вот к примеру я получаю свеженькое время на сервере @Now([ServerTime]) его колбашу в поле Date1 а в Date 2 мне необходимо засунуть дату на сутки больше

    Как?
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-SOFTOBZOR.ru+9:01:2007, 15:11 -->
    <span class="vbquote">(SOFTOBZOR.ru @ 9:01:2007, 15:11 )</span><!--QuoteEBegin-->Как?
    [snapback]52606" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    @Adjust
     
  5. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Спасибо!

    А другой вопрос

    @If(DateStart < DateStop;@Prompt([Ok];"Ошибка";"Начальная дата действия заявки не может быть меньше или равна конечной даты");@Success);

    Чего то не работает
    DateStart - текущее время
    DateStop - будущее время
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Всё должно работать.
    Ты проводишь валидацию? Тогда сообщение надо выводить формулой @Failure, а не @Prompt.

    В смысле не только сообщения выводить, а вообще использовать эту формулу. Она возвращает, что валидация не прошла успешно. Тогда как @Prompt просто выводит текст.
     
  7. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Самое интересное, что @Failure просто возвращает текст. Т.е. validation formula-ы

    @If(Dat<[1.01.2007]; @Yes; @Failure("Плохая дата"))
    и
    @If(Dat<[1.01.2007]; @Yes; "Плохая дата")
    эквивалентны

    А @Prompt в validation действительно излишний. Разве что так:

    @If(Dat<[1.01.2007]; @Yes; @Prompt([YesNo];"Плохая дата";"Игнорировать ошибку?"); @Yes; "Плохая дата!")
     
  8. SOFTOBZOR.ru

    SOFTOBZOR.ru Гость

    Спасибо, разобрался.

    Есть еще такой вопрос, как отпилить минуты и секунды от даты?
    Есть поле [Data]
    Содержит дату вида DD MM YYYY h:m:s
    Делаю виюшку и групирую элементы по этому полю.
    Но получается затык с тем что дата то одна а время разное, вот хочу отпилить время.

    Может наталкнете на мысль?

    Все получилось @Trim(@Text(@Date(Data)))
     
  9. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    например так

    Код (Text):
    dd:=@Text(@Day(date));
    dd:=@If(@Length(dd) = 1; "0"+dd; dd);
    mm:=@Text(@month(date));
    mm:=@If(@Length(mm) = 1; "0"+mm; mm);
    yyyy:=@Text(@year(date));

    dd + "." + mm + "."+ yyyy
     
  10. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Constantin A Chervonenko
    Не знал. Спасибо.
    А хелп, получается, немного врет.
     
  11. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Похоже - рудимент. Возможно когда-то @Failure выводил сообщение, а теперь - возвращает

    Перебор. Просто @Date(Data). Так сортировка будет более правильной (как дата, а не текст)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей