<GETMORECONTENT> ПОСЛЕ [DATETOINT]

Тема в разделе "Решение различных задач по парсингу", создана пользователем xLime, 29 сен 2017.

  1. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    401
    Задача: определить наличие товара по следующему принципу "дата доставки <= сегодняшняя дата+2 дня".

    Дата доставки загружается с помощью макроса <GETMORECONTENT>. Для того, чтобы выполнять операции с датами пытаюсь применить макрос [DATETOINT] вокруг <GETMORECONTENT>. Но судя по логу операций, [DATETOINT] выполняется ДО загрузки <GETMORECONTENT>. По этой причине условие (дата доставки <= сегодня+2 дня) не может быть выполнено.

    Код:
    [IF2]
    [DATETOINT(0)]
    [REPLACE(re:(\d+)-(\d+)-(\d+)|$3.$2.$1)]<GETMORECONTENT></GETMORECONTENT>
    [/REPLACE]
    [/DATETOINT] <= [DATETOINT(2)][CD_DATE_DD].[CD_DATE_MM].[CD_DATE_YYYY][/DATETOINT]
    [THEN]1[ELSE]0
    [/IF2]
     
  2. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    PHP_SRCIPT подключите который получает дату из скрипта.
     
    xLime нравится это.
  3. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    401
    Пока в PHP не могу. В процессе изучения.

    Задачу решил таким образом:
    Код:
    [VARF][SET:DATE]
    [REPLACE(re:(\d+)-(\d+)-(\d+)|$3.$2.$1)]
    <GETMORECONTENT>
    </GETMORECONTENT>
    [/REPLACE]
    [/SET][/VARF]
    
    [IF2]
    [DATETOINT(0)][VARF:DATE][/DATETOINT]<=[DATETOINT(2)][CD_DATE_DD].[CD_DATE_MM].[CD_DATE_YYYY][/DATETOINT]
    [THEN]1[ELSE]0
    [/IF2]
     
    kagorec нравится это.

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