Highlighted
Anonymous
Not applicable

## Velocity Scripting an equation with dates

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.

Tags (2)
2 REPLIES 2
Highlighted
Level 10 - Community Moderator

## Re: Velocity Scripting an equation with dates

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.#elseprog_leasecreatedate is not in the future.#end`

Finally, when posting code, please use the syntax highlighter in Advanced Editor, not a screenshot:

Highlighted
Level 6

## Re: Velocity Scripting an equation with dates

Thanks again Sanford, that blog post of yours is extremely useful.