我目前正在使用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时间戳?
你的帮助会很棒!
答案 0 :(得分:1)
查看Velocity Apache API中的Class ComparisonDateTool
:Click here。
只要您的日期格式正确,您就应该能够比较两者并获得在其上运行if语句所需的值。
答案 1 :(得分:-1)
在这里,#是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