Сравнение дат со скриптами Velocity?

В настоящее время я использую Marketo, и мы хотим получить некоторые данные, посмотрев дату, когда была введена информация о пользовательском объекте.

Я знаю php, javascript и т. д., но Velocity - это новая вещь, хотя я и знаком, но не могу найти лучший способ сравнивать даты.

В приведенном ниже коде я пробовал два способа, используя инструмент «Число» или «Дата», но мне не очень повезло. ##Получить все данные пользовательского объекта #set( $items = ${customerPurchaseData_cList} )

#set( $currentDateNumber = $number.toNumber('25/01/2016') )
#set( $startDateNumber = $number.toNumber($item.orderDate) )

$currentDateNumber
$startDateNumber 

#if( $startDateNumber <= $currentDateNumber )

## if the date is current date is less than do something

#end

#set($cal1=$date.toCalendar('25/01/2016'))
#set($strDate1=$date.format('MM/dd/yyyy hh:mm:ss a',$cal1))
##set($cal1 = $cal1.get('yyyy-M-d H:m:s')) 
#set($calCompare=$item.orderDate.compareTo($strDate1))

<ul>
#foreach ( $item in $items )

#if ($calCompare > 0)

<li>$item.MetalType</l1>

#end ##end of if statement

#end ##end of foreach
</ul>

## > $date.get('2017-01-01')
### if ($item.orderDate > $date.get('2017-01-01'))

Есть ли простой способ сравнить значения даты? Например, превратить их в временные метки UNIX?

Ваша помощь была бы потрясающей!


person Kyon147    schedule 09.02.2017    source источник


Ответы (2)


Взгляните на Class ComparisonDateTool в Velocity Apache API: Нажмите здесь.

Пока у вас есть даты в правильном формате, вы сможете сравнить их и получить значения, необходимые для запуска оператора if на них.

person Voxest    schedule 09.02.2017
comment
Да, в конце концов я использовал compareTo(), который сработал после того, как я смог убедиться, что две даты были в одном и том же формате. - person Kyon147; 12.02.2017

Здесь # является частью синтаксиса шаблона Velocity, поэтому мы должны использовать его.

#set ($otherDate = $vtool.formatDate("2020-04-10 00:00:00", "MM/dd/yyyy"))
#set ($currentDate = $vtool.getDate("MM/dd/yyyy"))

 #if($currentDate.compareTo($otherDate)<= 0)
   //Execute some code.
 #end
person Bhalchandra Giri    schedule 12.04.2020