Date object

Date object property

Type

Description

Sample value

Date object property

Type

Description

Sample value

formatDateTime

String

the date and time in Jira format used when display dates

11/sep/16 1:15 PM

formatDateTimePicker

String

the date and time in Jira format used in date picker

11.09.2016 13:15

formatDate

String

the date in Jira Jira format used when display dates

11/sep/16

formatDatePicker

String

the date in Jira format used in date picker

11.09.2016

formatDateISO

String

the date in ISO 8601 'YYYY-MM-DD' format

2016-09-11

formatTime

String

the time in Jira format used when display dates

1:15 PM

formatRelative

String

the date and time relative to now

Tomorrow

day

Number

day as number

3

dayLong

String

day in 'DD' format

03

dayName

String

full day name

Monday

dayAbbr

String

short day name

Mon

week

Number

week number in year

36

month

Number

month as number

7

monthLong

String

month in 'MM' format

07

monthName

String

full month name

December

monthAbbr

String

short month name

Dec

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

Date object methods

Description

Sample usage

MODIFYING METHODS

withMinutes(<integerValue>)

modifies the date by setting specified number of minutes.

Integer value must be in the range [0,59]

$repeating.date.withMinutes(0)

withHours(<integerValue>)

modifies the date by setting specified number of hours.

Integer 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)

COMPARISON METHODS

isBefore(<dateObject | dateString>)

check if the date is before given date

Parameter can be other date object or date / date time in ISO format YYYY-MM-DD'T'hh:mm:ss

$repeating.date.isEqal($sourceIssue.dueDate)

isAfter(<dateObject | dateString>)

check if the date is after given date

$repeating.date.isAfter('2018-09-13T13:30:00')

isEqual(<dateObject | dateString>)

check if the date is equal to given date

$repeating.date.isEqual('2018-09-13')

DISPLAY METHODS

format(<formatInString>)

print the date and time in the given Joda DateTImeFormat

$repeating.date.format("yyyy-dd-MM"')

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

Velocity expression

Sample value

$repeating.date.isAfter('2018-09-13T13:30:00')

true

$repeating.date.isEqual('2018-09-13')

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