Available since 1.2.0 version
Date object property | Type | Description | Sample value |
---|---|---|---|
formatDateTime | String | date and time in Jira datetime format | 11/sep/16 1:15 PM |
formatDate | String | date in Jira date format | 11/sep/16 |
formatDateISO | String | date in ISO 8601 'YYYY-MM-DD' format | 2016-09-11 |
formatTime | String | time in Jira time format | 1:15 PM |
day | Number | day as number | 3 |
dayLong | String | day in 'DD' format | 03 |
week | Number | week number in year | 36 |
month | Number | month as number | 7 |
monthLong | String | month in 'MM' format | 07 |
year | Number | year number | 2016 |
Operations on date object
On date object user can do math operations and modify final date value. For example user can add minutes, hours, days, weeks, months or set hour/minutes to exact value. See available operation below:
Date object methods | Description | Sample usage |
---|---|---|
withMinutes(<integerValue>) | modifies the date by setting specified number of minutes. Value must be in the range [0,59] | $repeating.date.withMinutes(0) |
withHours(<integerValue>) | modifies the date by setting specified number of hours. Value must be in the range [0,23] | $repeating.date.withHours(12) |
addMinutes(<integerValue>) | modifies the date by adding specified number of minutes | $repeating.date.addMinutes(15) |
addMinutesStrict(<integerValue>) | modifies the date by adding specified number of minutes with respecting non-working days | $repeating.date.addMinutesStrict(15) |
addHours(<integerValue>) | modifies the date by adding specified number of hours | $repeating.date.addHours(2) |
addHoursStrict(<integerValue>) | modifies the date by adding specified number of hours with respecting non-working days | $repeating.date.addHoursStrict(2) |
addDays(<integerValue>) | modifies the date by adding specified number of days | $repeating.date.addDays(2) |
addDaysStrict(<integerValue>) | modifies the date by adding specified number of days with respecting non-working days | $repeating.date.addDaysStrict(2) |
addWeeks(<integerValue>) | modifies the date by adding specified number of weeks | $repeating.date.addWeeks(1) |
addWeeksStrict(<integerValue>) | modifies the date by adding specified number of weeks with respecting non-working days | $repeating.date.addWeeksStrict(1) |
addMonths(<integerValue>) | modifies the date by adding specified number of months | $repeating.date.addMonths(15) |
addMonthsStrict(<integerValue>) | modifies the date by adding specified number of months with respecting non-working days | $repeating.date.addMonthsStrict(15) |
addYears(<integerValue>) | modifies the date by adding specified number of years | $repeating.date.addYears(1) |
addYearsStrict(<integerValue>) | modifies the date by adding specified number of years with respecting non-working days | $repeating.date.addYearsStrict(1) |
Differences between strict and non-strict date modifications
Below is quick and simple comparison how strict mode with respecting non-working days differ from simple date modifications.
Repeating date is: 19/Sep/18 2:45 PM
Non-working days are: 20/Sep/18 and 21/Sep/18
$repeating.date.addDays(5) vs $repeating.date.addDaysStrict(5) 24/Sep/18 2:45 PM vs 26/Sep/18 2:45 PM $repeating.date.addMinutes(25) vs $repeating.date.addMinutesStrict(25) 19/Sep/18 3:10 PM vs 19/Sep/18 3:10 PM $repeating.date.addMinutes(4335) vs $repeating.date.addMinutesStrict(4335) (4335 minutes is equal to 3 days 15 minutes) 22/Sep/18 3:00 PM vs 24/Sep/18 3:00 PM $repeating.date.addHours(10) vs $repeating.date.addHoursStrict(10) 20/Sep/18 12:45 AM vs 22/Sep/18 12:45 AM $repeating.date.addHours(76) vs $repeating.date.addHoursStrict(76) (76 hours is equal to 3 days 4 hours) 22/Sep/18 6:45 PM vs 24/Sep/18 6:45 PM $repeating.date.addHours(82) vs $repeating.date.addHoursStrict(82) (82 hours is equal to 3 days 10 hours) 23/Sep/18 12:45 AM vs 25/Sep/18 12:45 AM $repeating.date.addMonths(2) vs $repeating.date.addMonthsStrict(2) 19/Nov/18 1:45 PM vs 21/Nov/18 1:45 PM $repeating.date.addYears(1) vs $repeating.date.addYearsStrict(1) 19/Sep/19 2:45 PM vs 21/Sep/19 2:45 PM
Sample date comparisons in velocity templates
Velocity expression | Sample value |
---|---|
$repeating.date.isAfter('2018-09-13T13:30:00') | true |
$repeating.date.isAfter($sourceIssue.dueDate) | false |
$sourceIssue.updatedDate.month < 8 | false |
#if($repeating.date.month > 4)Some value#{else}other value#end | Some value |