Here is what I'm trying to do:
Find the difference between todays date, and the lease creation date.
Subtract the difference from 89 days.
Display that number.
Here is what I have so far:
I just can't get the "minus 89 days" to work.
You should read this seminal post on days and times in Velocity, where I explain that you must always include a timezone when parsing dates.
In particular, this section explains how to use $date.difference without surprising shifts of one day in either direction.
Once you set the tz (by including the boilerplate code at the top of the post), you simply call $math.sub:
#set( $DAYS_OFFSET_BASE = 89 )
#set( $ret = $calNow.set(
$calNow.get($calConst.YEAR),
$calNow.get($calConst.MONTH),
$calNow.get($calConst.DAY_OF_MONTH),
0,
0,
0
) )
#set( $ret = $calNow.set($calConst.MILLISECOND,0) )
#set( $calLeaseCreateDate = $convert.toCalendar(
$convert.parseDate(
$lead.prog_leasecreatedate,
$ISO8601DateOnly,
$defaultLocale,
$defaultTimeZone
)
) )
#set( $daysUntilLeaseCreate = $date.difference($calNow,$calLeaseCreateDate).getDays() )
#if( $daysUntilLeaseCreate > 0 )
#set( $daysOffsetFromBase = $math.sub($DAYS_OFFSET_BASE, $daysUntilLeaseCreate) )
prog_leasecreatedate offset is $daysOffsetFromBase.
#else
prog_leasecreatedate is not in the future.
#end
Finally, when posting code, please use the syntax highlighter in Advanced Editor, not a screenshot:
Thanks again Sanford, that blog post of yours is extremely useful.