Как сравнить две даты с текущей датой в Tibco BW?

Например, если у вас есть дата, полученная из действия «Начало», как мы можем сравнить эту дату с текущей датой?


person SOAMad    schedule 06.10.2016    source источник


Ответы (2)


На самом деле функция присутствует именно для этой цели. Он называется «compare-date» или «compare-dateTime» (если время также имеет значение).

Сигнатура этой функции:

дата сравнения('1980-08-05','1980-09-04')

returns -1 if first

returns 1 if second

return 0 if both are equal.

В вашем случае это может означать что-то вроде:

сравнить-дата ($ Start/root/Date, текущая-дата())

person jens walter    schedule 06.10.2016

Вы можете сделать это следующим образом: Возьмем, например, два маппера, сначала используем два входа и задаем следующий xpath в порядке:

1.Для текущей даты:

tib:parse-date("yyyyMMdd",tib:format-date("yyyyMMdd",current-date()))
  1. Для начального ввода

    tib:parse-date("yyyy-MM-dd", $Start/root/Date)
    

    и сравните его где-нибудь на входе End, например:

    if ($parseDate/root/currentdate= $parseDate/root/rDate) then substring( 
    
    $parseDate/root/currentdate - $parseDate/root/Date, 3, 
    
    string-length(($parseDate/root/currentdate - $parseDate/root/Date))-3) else 
    substring( $parseDate/root/currentdate - $parseDate/root/Date,2, 
    
    string-length(($parseDate/root/currentdate - $parseDate/root/Date))-2)
    
person SOAMad    schedule 06.10.2016