使用 Velocity 脚本比较日期?
Comparing dates with Velocity scripting?
我目前正在使用 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时间戳?
你的帮助会很棒!
查看 Velocity Apache Class ComparisonDateTool
中的 API:Click here。
只要您的日期格式正确,您就应该能够比较两者并获得您需要的值 运行 对它们进行 if 语句。
在这里,#是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
我目前正在使用 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时间戳?
你的帮助会很棒!
查看 Velocity Apache Class ComparisonDateTool
中的 API:Click here。
只要您的日期格式正确,您就应该能够比较两者并获得您需要的值 运行 对它们进行 if 语句。
在这里,#是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