Hi all,
I would like to make a user macro, which does a similar thing to the date formatting used with tasks.
User macro with the bodytext (or a parameter) as a date (dd.mm.yyyy).
If the date is in the past, the formatting shall be changed to red.
Is this possible with a simple user macro?
Thx for any help.
Reto E.
This is super hacky but it works. Maybe there is a better way to handle dates with velocity, but I've had a devil of a time finding it.
## Developed by: Davin Studer
## Date created: 7/1/2014
## @param Date:title=Date|type=date|desc=Date to start from. Format: dd/mm/YYYY
#set ($len = 0)
#set ($i = 0)
#set ($parts = $paramDate.split("/"))
#set ($today = $action.dateFormatter.getCalendar())
## Having trouble finding out the length/size of $parts ... brute force it
#foreach ($part in $parts)
#set ($len = $len + 1)
#end
#if ($len == 3)
## Buiding date variable from parameter string ... can't seem to find a better way to do it with velocity
#foreach ($part in $parts)
#if ($i == 0)
#set ($day = $generalUtil.convertToInteger("$part"))
#elseif ($i == 1)
#set ($month = $generalUtil.convertToInteger("$part"))
#set ($month = $month - 1)
#else
#set ($year = $generalUtil.convertToInteger("$part"))
#end
#set ($i = $i + 1)
#end
#set ($cal = $action.dateFormatter.getCalendar())
$cal.set($year, $month, $day, 0, 0, 0)
## Compare enetered date to today
#if($today.timeInMillis > $cal.timeInMillis)
<span style="color: #FF0000">$paramDate</span>
#else
$paramDate
#end
#else
bad date
#end
Thx Devin.
I'm new to velocity in confluence. And couldn't find a way to convert a string into a date to work with. Espacially because confluence has a param-type date, but it is treated as a normal string ...
Your 'hack' works for now.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.