Как сделать сравнение двух дат при парсинге ([GETCSVDATA], [IF] и [MATH])

Тема в разделе "Макросы шаблона вывода", создана пользователем PeterPen, 1 дек 2019.

  1. PeterPen

    PeterPen Member Пользователи

    Регистрация:
    15 окт 2014
    Сообщения:
    61
    Город:
    Сочи
    Добрый день ! А как сделать чтобы выполнялось сначала [GETCSVDATA] потом [MATH] потом [IF] ???
    При включении [IF2] [MATH2] Выполнняется [GETCSVDATA] [IF2] [MATH2]

    Вот конструкция
    [IF2][MATH2]([GETCSVDATA(new)][INT_ID]|6[/GETCSVDATA]=8)and([GETCSVDATA(new)][INT_ID]|4[/GETCSVDATA]=5)[/MATH2] [TEXTEQUAL]{TRUE} [THEN] ТЕКСТ [GETCSVDATA(new)][INT_ID]|4[/GETCSVDATA].00-[GETCSVDATA(new)][INT_ID]|6[/GETCSVDATA] [/IF2]
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Замените файл Content Downloader.exe (в папке с программой) этим файлом:
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
     
    PeterPen нравится это.
  3. PeterPen

    PeterPen Member Пользователи

    Регистрация:
    15 окт 2014
    Сообщения:
    61
    Город:
    Сочи
    Подскажите в макросе MATH не равно как обозначается ??? "<> " Так ?
    Мне нужно задать условие Если 1=1 или 2=2 или 3=3 и не равно B
     
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Петр, ошибка была. Спасибо. Исправил.

    Замените файл Content Downloader.exe (в папке с программой) этим файлом:
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    Используйте <> в качестве обозначения неравенства.
     
    PeterPen нравится это.
  5. PeterPen

    PeterPen Member Пользователи

    Регистрация:
    15 окт 2014
    Сообщения:
    61
    Город:
    Сочи
    Добрый день! Подскажите пожалуйста почему
    [IF2][MATH2]2019-11-21<[CD_DATE(2019-11-29|0|{YYYY}-{MM}-{DD})] [/MATH2][TEXTEQUAL]{TRUE}[THEN][CD_DATE(now|0|{YYYY}-{MM}-{DD})][ELSE][GRAN2][/IF2]
    Возвращет FALSE
    а если
    [CD_DATE(now|0|{YYYY}-{MM}-{DD})]
    то все хорошо возвращает TRUE

    ПРобывал datetoint вообще НУЛИ сравнивает .
     
  6. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Вы пытаетесь сравнить две даты, как две строки. Даты нужно преобразовать в число с помощью макроса [DATETOINT], и затем уже сравнить два полученных числа.

    Код:
    [IF2][MATH2][DATETOINT(0)]21.11.2019[/DATETOINT]<[DATETOINT(0)][CD_DATE(2019-11-29|0|{DD}.{MM}.{YYYY})][/DATETOINT] [/MATH2][TEXTEQUAL]{TRUE}[THEN][CD_DATE(now|0|{DD}.{MM}.{YYYY})][ELSE][GRAN2][/IF2]
     
  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Код:
    [IF2][MATH2][CD_DATE(2019-11-21|0|{UNIX})]<=[CD_DATE(2019-11-21|0|{UNIX})] [/MATH2][TEXTEQUAL]{TRUE}[THEN][CD_DATE(now|0|{DD}.{MM}.{YYYY})][ELSE][GRAN2][/IF2]
     
  8. PeterPen

    PeterPen Member Пользователи

    Регистрация:
    15 окт 2014
    Сообщения:
    61
    Город:
    Сочи
    Доброго времени! Есть граница парсинга [GRAN1] в которой дата YYYY-MM-DDTHH:mm в формате Ссылки недоступны для гостей , мне нужно задать условие
    [IF2][MATH2][CD_DATE(YYYY-MM-DDTHH:mm(ЭТО [GRAN1])|0|{UNIX})]<=[CD_DATE(now|0|{UNIX})] [/MATH2][TEXTEQUAL]{TRUE}[THEN][CD_DATE(now|0|{DD}.{MM}.{YYYY})][ELSE][GRAN2][/IF2]
    в общем даже не важно какое условие стоит просто программа не воспринимает дату в таком формате YYYY-MM-DDTHH:mm
    макрос DATEINOUT понимает что нужно преобразовать в число только если формат День.Месяц.Год.
    Как мне сравнить 2 даты в таком формате ?
     
  9. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Конструкция работает.

    Не понимаю проблемы.
     
    PeterPen нравится это.
  10. PeterPen

    PeterPen Member Пользователи

    Регистрация:
    15 окт 2014
    Сообщения:
    61
    Город:
    Сочи
    Здравствуйте, не работает если дата в таком виде 2020-10-27T11:34 возвращает Ноль
     
  11. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Замените файл Content Downloader.exe (в папке с программой) этим файлом:
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 30 постов.**
    2020-11-09_12-05-22.png
     

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