Skip to main content

Date / Time / Date-time functions

formatDate(Date value, (Optional) string format, (Optional) string timezone)

  • Converts a Date to string according to the given format
  • If the format is not provided, default format (yyyy-MM-dd) is used
  • Valid value for the timezone are TZ Identifier Column in the list
def Date today = new Date();
def string value1 = formatDate(today); // "2023-01-10"
def string value2 = formatDate(today, "dd/MM/yyyy"); // "10/01/2023"
def string value3 = formatDate(today, "dd/MM/yyyy", "America/Los_Angeles");
def string value4 = today.formatDate("dd/MM/yyyy", "America/Los_Angeles");

formatTime(Time value, (Optional) string format)

  • Converts a Time to string according to the given format
  • If the format is not provided, default format (HH:mm:ss.nnn) is used
def Time now = new Time();
def string value1 = formatTime(now); // "20:05:14.148147"
def string value2 = formatTime(now, "hh mm"); // "08 05"
def string value4 = now.formatTime("hh mm"); // "08 05"

formatOffsetTime(Time value, string format)

  • Converts a Time to string according to the given format
  • This function is preferred over formatOffsetTime when the format contains Timezone information
def Time now = new Time();
def string value1 = formatOffsetTime(now, "hh mm XXX"); // "08 07 +0000"
def string value2 = now.formatOffsetTime("hh mm XXX"); // // "08 07 +0000"

formatDateTime(DateTime value, (Optional) string format, (Optional) string timezone)

  • Converts a DateTime to string according to the given format
  • If the format is not provided, default format (yyyy-MM-ddTHH:mm:ss.nnn) is used
  • Valid value for the timezone are TZ Identifier Column in the list
def DateTime now = new DateTime();
def string value1 = formatDateTime(now); // "2023-01-10T20:07:38.559434"
def string value2 = formatDateTime(now, "dd/MM/yyyy hh mm"); // "10/01/2023 08 07"
def string value3 = formatDateTime(now, "dd/MM/yyyy hh mm", "America/Los_Angeles");
def string value4 = now.formatDateTime("dd/MM/yyyy hh mm", "America/Los_Angeles");

formatOffsetDateTime(DateTime value, string format)

  • Converts a DateTime to string according to the given format
  • This function is preferred over formatDateTime when the format contains Timezone information
def DateTime now = new DateTime();
def string value1 = formatOffsetDateTime(now, "dd/MM/yyyy hh mm XXX"); // "10/01/2023 08 07 +0000"
def string value2 = now.formatOffsetDateTime("dd/MM/yyyy hh mm XXX"); // // "10/01/2023 08 07 +0000"

getDay(Date | DateTime value)

  • Returns the day of the month as an integer value from the specified value.
def Date today = new Date();
def int value = getDay(today); // 11
def int value2 = today.getDay(); // 11
def Date date = createDate(2023, 1, 17);
def int value = getDay(date); // 17
def int value2 = date.getDay(); // 17

getDayOfWeek(Date | DateTime value)

  • Returns a number in the range (1 - 7), representing the number of the day of the week, that date falls. The number "1" represents Monday, "2" represents Tuesday and so on.
def Date today = new Date();
def int value = getDayOfWeek(today); // 3
def int value2 = today.getDayOfWeek(); // 3
def Date date = createDate(2023, 1, 17);
def int value = getDayOfWeek(date); // 3
def int value2 = date.getDayOfWeek(); // 3

getDayOfWeekStartingSunday(Date | DateTime value)

  • Returns a number in the range (1 - 7), representing the number of the day of the week, that date falls. The number "1" represents Sunday, "2" represents Monday and so on.
def Date today = new Date();
def int value = getDayOfWeekStartingSunday(today); // 4
def int value2 = today.getDayOfWeekStartingSunday(); // 4
def Date date = createDate(2023, 1, 17);
def int value = getDayOfWeekStartingSunday(date); // 4
def int value2 = date.getDayOfWeekStartingSunday(); // 4

getMonth(Date | DateTime value)

  • Returns the numerical value of the month from the specified value. The number 1 represents January, 2 represents February and so on
def Date today = new Date();
def int value = getMonth(today); // 1
def int value2 = today.getMonth(); // 1
def Date date = createDate(2023, 1, 17);
def int value = getMonth(date); // 1
def int value2 = date.getMonth(); // 1

getWeekOfYear(Date | DateTime value)

  • Returns a number representing the number of the week in the year (ISO) from the specified value..
def Date today = new Date();
def int value = getWeekOfYear(today); // 2
def int value2 = today.getWeekOfYear(); // 2
def Date date = createDate(2023, 1, 17);
def int value = getWeekOfYear(date); // 2
def int value2 = date.getWeekOfYear(); // 2

getWeekOfYearStartingSunday(Date | DateTime value)

  • Returns a number representing the number of the week in the year (starting Sunday) from the specified value..
def Date today = new Date();
def int value = getWeekOfYearStartingSunday(today); // 2
def int value2 = today.getWeekOfYearStartingSunday(); // 2
def Date date = createDate(2023, 1, 17);
def int value = getWeekOfYearStartingSunday(date); // 2
def int value2 = date.getWeekOfYearStartingSunday(); // 2

getYear(Date | DateTime value)

  • Returns the numerical value of the year from the specified value.
def Date today = new Date();
def int value = getYear(today); // 2023
def int value2 = today.getYear(); // 2023
def Date date = createDate(2023, 1, 17);
def int value = getYear(date); // 2023
def int value2 = date.getYear(); // 2023

getDayOfYear(Date | DateTime value)

  • Return a number in the range 1-366, representing the number of the day of the year, the specified date falls on.
def Date today = new Date();
def int value = getDayOfYear(today); // 11
def int value2 = today.getDayOfYear(); // 11
def Date date = createDate(2023, 1, 17);
def int value = getDayOfYear(date); // 17
def int value2 = date.getDayOfYear(); // 17

getHours(Time | DateTime value)

  • Returns the hour value as integer from the specified value.
def Time now = new Time();
def int value = getHours(now); // 10
def int value2 = now.getHours(); // 10
def Time time = createTime(7, 36, 22);
def int value = getHours(time); // 7
def int value2 = time.getHours(); // 7

getMinutes(Time | DateTime value)

  • Returns the minute value as integer from the specified value.
def Time now = new Time();
def int value = getMinutes(now); // 36
def int value2 = now.getMinutes(); // 36
def Time time = createTime(7, 12, 22);
def int value = getMinutes(time); // 12
def int value2 = time.getMinutes(); // 12

getSeconds(Time | DateTime value)

  • Returns the second value as integer from the specified value.
def Time now = new Time();
def int value = getSeconds(now); // 22
def int value2 = now.getSeconds(); // 22
def Time time = createTime(7, 12, 46);
def int value = getSeconds(time); // 46
def int value2 = time.getSeconds(); // 46

getTime(DateTime value)

  • Returns Time from a DateTime value
def DateTime now = new DateTime();
def Time value = getTime(now); // Time(10, 36, 22)
def Time value2 = now.getTime(); // Time(10, 36, 22)
def DateTime dateTime = createDateTime(2023, 1, 17, 7, 12, 46);
def Time value = getTime(dateTime); // Time(7, 12, 46)
def Time value2 = dateTime.getTime(); // Time(7, 12, 46)

getDate(DateTime value)

  • Returns Date from a DateTime value
def DateTime now = new DateTime();
def Date value = getDate(now); // Date(2023, 11, 1)
def Date value2 = now.getDate(); // Date(2023, 11, 1)
def DateTime dateTime = createDateTime(2023, 1, 17, 7, 12, 46);
def Date value = getDate(dateTime); // Date(2023, 1, 17)
def Date value2 = dateTime.getDate(); // Date(2023, 1, 17)

getDayName(Date | DateTime value)

  • Returns the name of the Day ("MONDAY", "TUESDAY",...) as string from the specified value.
def DateTime now = new DateTime();
def string value = getDayName(now); // WEDNESDAY
def string value2 = now.getDayName(); // WEDNESDAY
def DateTime dateTime = createDateTime(2023, 1, 18, 7, 12, 46);
def string value = getDayName(dateTime); // THURSDAY
def string value2 = dateTime.getDayName(); // THURSDAY

getMonthName(Date | DateTime value)

  • Returns the name of the month ("JANUARY", "FEBRUARY",...) as string from the specified value.
def DateTime now = new DateTime();
def string value = getMonthName(now); // JANUARY
def string value2 = now.getMonthName(); // JANUARY
def DateTime dateTime = createDateTime(2023, 2, 18, 7, 12, 46);
def string value = getMonthName(dateTime); // FEBRUARY
def string value2 = dateTime.getMonthName(); // FEBRUARY

toStartOfWeek(Date | DateTime value)

  • Returns a Date / DateTime after converting the given value to the start of the week, that date falls on
def DateTime now = new DateTime();
def DateTime value = toStartOfWeek(now); // 2023-01-09T00:00
def DateTime value2 = now.toStartOfWeek(); // 2023-01-09T00:00
def DateTime dateTime = createDateTime(2023, 1, 18, 7, 12, 46);
def DateTime value = toStartOfWeek(dateTime); // 2023-01-16T00:00
def DateTime value2 = dateTime.toStartOfWeek(); // 2023-01-16T00:00

toEndOfWeek(Date | DateTime value)

  • Returns a Date / DateTime after converting the given value to the start of the week, that date falls on
def DateTime now = new DateTime();
def DateTime value = toEndOfWeek(now); // 2023-01-15T00:00
def DateTime value2 = now.toEndOfWeek(); // 2023-01-15T00:00
def DateTime dateTime = createDateTime(2023, 1, 18, 7, 12, 46);
def DateTime value = toEndOfWeek(dateTime); // 2023-01-22T00:00
def DateTime value2 = dateTime.toEndOfWeek(); // 2023-01-22T00:00

toStartOfMonth(Date | DateTime value)

  • Returns a Date / DateTime after converting the given value to the start of the week, that date falls on
def DateTime now = new DateTime();
def DateTime value = toStartOfMonth(now); // 2023-01-01T00:00
def DateTime value2 = now.toStartOfMonth(); // 2023-01-01T00:00
def DateTime dateTime = createDateTime(2023, 2, 18, 7, 12, 46);
def DateTime value = toStartOfMonth(dateTime); // 2023-02-01T00:00
def DateTime value2 = dateTime.toStartOfMonth(); // 2023-02-01T00:00

toEndOfMonth(Date | DateTime value)

  • Returns a Date / DateTime after converting the given value to the start of the week, that date falls on
def DateTime now = new DateTime();
def DateTime value = toEndOfMonth(now); // 2023-01-31T00:00
def DateTime value2 = now.toEndOfMonth(); // 2023-01-31T00:00
def DateTime dateTime = createDateTime(2023, 2, 18, 7, 12, 46);
def DateTime value = toEndOfMonth(dateTime); // 2023-02-28T00:00
def DateTime value2 = dateTime.toEndOfMonth(); // 2023-02-28T00:00

toEpochDays(Date | DateTime value)

  • Returns an integer representing number of days since epoch time (January 1st, 1970) till the given value
  • Will return negative value if the given value is before epoch time
def DateTime now = new DateTime();
def int value = toEpochDays(now); // 19368
def int value2 = now.toEpochDays(); // 19368
def DateTime dateTime = createDateTime(2021, 1, 1, 0, 0, 0);
def int value = toEpochDays(dateTime); // 18627
def int value2 = dateTime.toEpochDays(); // 18627

toEpochSeconds(Date | DateTime value)

  • Returns an integer representing number of seconds since epoch time (January 1st, 1970) till the given value
  • Will return negative value if the given value is before epoch time
def DateTime now = new DateTime();
def int value = toEpochSeconds(now); // 1673435938
def int value2 = now.toEpochSeconds(); // 1673435938
def DateTime dateTime = createDateTime(2023, 1, 1, 0, 0, 0);
def int value = toEpochSeconds(dateTime); // 1672572000
def int value2 = dateTime.toEpochSeconds(); // 1672572000

toSecondOfDay(Time value)

  • Returns an integer representing number of seconds since midnight
def Time now = new Time();
def int value1 = toSecondOfDay(now); // 34567
def int value2 = now.toSecondOfDay(); // 34567
def Time time = createTime(10, 36, 22);
def int value = toSecondOfDay(time); // 37982
def int value2 = time.toSecondOfDay(); // 37982

createDate(int year, int month, int day)

  • Creates a Date with the given values of year, month and day
def Date joiningDate = createDate(2022, 10, 7);
def Date joiningDate2 = createDate(1998,5, 12);
def Date result = createDate(2025, 1, 1);
def Date result2 = createDate(2047, 7, 1);
Consideration

Make sure to give input in correct range or you might get an error

createTime(int hours, int minutes, int seconds)

  • Creates a Time with the given values of hours, minutes and seconds
def Time reminderTime = createTime(21, 30, 12);
def Time reminderTime2 = createTime(12, 30, 12);
def Time result = createTime(13, 30, 12);
def Time result2 = createTime( 4, 8, 1);
Consideration

Make sure to give input in correct range or you might get an error

createDateTime(int year, int month, int day, int hours, int minutes, int seconds)

  • Creates a DateTime with the given values of year, month, day, hours, minutes and seconds
def DateTime reminderDateTime = createDateTime(2022, 10, 7, 21, 30, 12);
def DateTime reminderDateTime2 = createDateTime(1970, 1, 1, 0, 0, 0);
def DateTime result = createDateTime(2025, 1, 1, 12, 7, 0);
def DateTime result2 = createDateTime(1990, 4, 3, 12, 7, 0);
Consideration

Make sure to give input in correct range or you might get an error

createDateTime(Date date, Time time)

  • Creates a DateTime with the given values of Date and Tim
def Date date = new Date();
def Time time = new Time();
def DateTime current = createDateTime(date, time);
def DateTime current2 = date.createDateTime(time);
def Date date = createDate(2025, 1, 1);
def Time time = createTime(12, 7, 0);
def DateTime result = createDateTime(date, time);
def DateTime result2 = date.createDateTime(time);

setYear(Date | DateTime value, int year)

  • Returns a new Date / DateTime from the given value with the given year
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.setYear(2025); // Date(2025, 1, 11)
def Date result2 = setYear(today, 2025); // Date(2025, 1, 11)
def Date date = createDate(2025, 1, 1);
def int year = 2026;
def Date result = date.setYear(year); // Date(2026, 1, 1)
def Date result2 = setYear(date, year); // Date(2026, 1, 1)
Consideration

Make sure to give input in correct range or you might get an error

setMonth(Date | DateTime value, int month)

  • Returns a new Date / DateTime from the given value with the given month
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.setMonth(7); // Date(2023, 7, 11)
def Date result2 = setMonth(today, 7); // Date(2023, 7, 11)
def Date date = createDate(2025, 1, 1);
def int month = 2;
def Date result = date.setMonth(month); // Date(2025, 2, 1)
def Date result2 = setMonth(date, month); // Date(2025, 2, 1)
Consideration

Make sure to give input in correct range or you might get an error

setDay(Date | DateTime value, int day)

  • Returns a new Date / DateTime from the given value with the given day
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.setDay(21); // Date(2023, 1, 21)
def Date result2 = setDay(today, 21); // Date(2023, 1, 21)
def Date date = createDate(2025, 1, 1);
def int day = 2;
def Date result = date.setDay(day); // Date(2025, 1, 2)
def Date result2 = setDay(date, day); // Date(2025, 1, 2)
Consideration

Make sure to give input in correct range or you might get an error

setHours(Time | DateTime value)

  • Returns a new Time / DateTime from the given value with the given hours
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.setHours(14); // Time(14, 36, 22)
def Time result2 = setHours(now, 14); // Time(14, 36, 22)
def Time time = createTime(10, 36, 22);
def int hours = 14;
def Time result = time.setHours(hours); // Time(14, 36, 22)
def Time result2 = setHours(time, hours); // Time(14, 36, 22)
Consideration

Make sure to give input in correct range or you might get an error

setMinutes(Time | DateTime value)

  • Returns a new Time / DateTime from the given value with the given minutes
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.setMinutes(12); // Time(10, 12, 22)
def Time result2 = setMinutes(now, 12); // Time(10, 12, 22)
def Time time = createTime(10, 36, 22);
def int minutes = 12;
def Time result = time.setMinutes(minutes); // Time(10, 12, 22)
def Time result2 = setMinutes(time, minutes); // Time(10, 12, 22)
Consideration

Make sure to give input in correct range or you might get an error

setSeconds(Time | DateTime value)

  • Returns a new Time / DateTime from the given value with the given seconds
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.setSeconds(46); // Time(10, 36, 46)
def Time result2 = setSeconds(now, 46); // Time(10, 36, 46)
def Time time = createTime(10, 36, 22);
def int seconds = 46;
def Time result = time.setSeconds(seconds); // Time(10, 36, 46)
def Time result2 = setSeconds(time, seconds); // Time(10, 36, 46)
Consideration

Make sure to give input in correct range or you might get an error

addDays(Date | DateTime value, int daysToAdd)

  • Returns a new Date / DateTime from the given value after adding the given number of days
def Date today = new Date(); // Date(2023, 11, 11)
def Date result = today.addDays(21); // Date(2023, 2, 1)
def Date result2 = addDays(today, 21); // Date(2023, 2, 1)
def Date date = createDate(2025, 1, 1);
def int days = 21;
def Date result = date.addDays(days); // Date(2025, 1, 22)
def Date result2 = addDays(date, days); // Date(2025, 1, 22)

addMonths(Date | DateTime value, int monthsToAdd)

  • Returns a new Date / DateTime from the given value after adding the given number of months
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.addMonths(3); // Date(2023, 4, 11)
def Date result2 = addMonths(today, 3); // Date(2023, 4, 11)
def Date date = createDate(2025, 1, 1);
def int months = 2;
def Date result = date.addMonths(months); // Date(2025, 3, 1)
def Date result2 = addMonths(date, months); // Date(2025, 3, 1)

addYears(Date | DateTime value, int yearsToAdd)

  • Returns a new Date / DateTime from the given value after adding the given number of years
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.addYears(2); // Date(2025, 1, 11)
def Date result2 = addYears(today, 2); // Date(2025, 1, 11)
def Date date = createDate(2025, 1, 1);
def int years = 2;
def Date result = date.addYears(years); // Date(2027, 1, 1)
def Date result2 = addYears(date, years); // Date(2027, 1, 1)

addWeeks(Date | DateTime value, int weeksToAdd)

  • Returns a new Date / DateTime from the given value after adding the given number of weeks
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.addWeeks(3); // Date(2023, 2, 1)
def Date result2 = addWeeks(today, 3); // Date(2023, 2, 1)
def Date date = createDate(2025, 1, 1);
def int weeks = 3;
def Date result = date.addWeeks(weeks); // Date(2025, 1, 22)
def Date result2 = addWeeks(date, weeks); // Date(2025, 1, 22)

addHours(Time | DateTime value, int hoursToAdd)

  • Returns a new Time / DateTime from the given value after adding the given number of hours
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.addHours(7); // Time(17, 36, 22)
def Time result2 = addHours(now, 7); // Time(17, 36, 22)
def Time time = createTime(10, 36, 22);
def int hours = 7;
def Time result = time.addHours(hours); // Time(17, 36, 22)
def Time result2 = addHours(time, hours); // Time(17, 36, 22)

addMinutes(Time | DateTime value, int minutesToAdd)

  • Returns a new Time / DateTime from the given value after adding the given number of minutes
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.addMinutes(12); // Time(10, 48, 22)
def Time result2 = addMinutes(now, 12); // Time(10, 48, 22)
def Time time = createTime(10, 36, 22);
def int minutes = 12;
def Time result = time.addMinutes(minutes); // Time(10, 48, 22)
def Time result2 = addMinutes(time, minutes); // Time(10, 48, 22)

addSeconds(Time | DateTime value, int secondsToAdd)

  • Returns a new Time / DateTime from the given value after adding the given number of seconds
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.addSeconds(40); // Time(10, 37, 2)
def Time result2 = addSeconds(now, 40); // Time(10, 37, 2)
def Time time = createTime(10, 36, 22);
def int seconds = 40;
def Time result = time.addSeconds(seconds); // Time(10, 37, 2)
def Time result2 = addSeconds(time, seconds); // Time(10, 37, 2)

subDays(Date | DateTime value, int daysToSubtract)

  • Returns a new Date / DateTime from the given value after subtracting the given number of days
def Date today = new Date(); // Date(2023, 11, 11)
def Date result = today.subDays(21); // Date(2021, 12, 21)
def Date result2 = subDays(today, 21); // Date(2021, 12, 21)
def Date date = createDate(2025, 1, 1);
def int days = 21;
def Date result = date.subDays(days); // Date(2024, 12, 11)
def Date result2 = subDays(date, days); // Date(2024, 12, 11)

subMonths(Date | DateTime value, int monthsToSubtract)

  • Returns a new Date / DateTime from the given value after subtracting the given number of months
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.subMonths(3); // Date(2022, 10, 11)
def Date result2 = subMonths(today, 3); // Date(2022, 10, 11)
def Date date = createDate(2025, 1, 1);
def int months = 2;
def Date result = date.subMonths(months); // Date(2024, 11, 1)
def Date result2 = subMonths(date, months); // Date(2024, 11, 1)

subYears(Date | DateTime value, int yearsToSubtract)

  • Returns a new Date / DateTime from the given value after subtracting the given number of years
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.subYears(2); // Date(2021, 1, 11)
def Date result2 = subYears(today, 2); // Date(2021, 1, 11)
def Date date = createDate(2025, 1, 1);
def int years = 2;
def Date result = date.subYears(years); // Date(2023, 1, 1)
def Date result2 = subYears(date, years); // Date(2023, 1, 1)

subWeeks(Date | DateTime value, int weeksToSubtract)

  • Returns a new Date / DateTime from the given value after subtracting the given number of weeks
def Date today = new Date(); // Date(2023, 1, 11)
def Date result = today.subWeeks(3); // Date(2021, 12, 21)
def Date result2 = subWeeks(today, 3); // Date(2021, 12, 21)
def Date date = createDate(2025, 1, 1);
def int weeks = 3;
def Date result = date.subWeeks(weeks); // Date(2024, 12, 11)
def Date result2 = subWeeks(date, weeks); // Date(2024, 12, 11)

subHours(Time | DateTime value, int hoursToSubtract)

  • Returns a new Time / DateTime from the given value after subtracting the given number of hours
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.subHours(7); // Time(3, 36, 22)
def Time result2 = subHours(now, 7); // Time(3, 36, 22)
def Time time = createTime(10, 36, 22);
def int hours = 7;
def Time result = time.subHours(hours); // Time(3, 36, 22)
def Time result2 = subHours(time, hours); // Time(3, 36, 22)

subMinutes(Time | DateTime value, int minutesToSubtract)

  • Returns a new Time / DateTime from the given value after subtracting the given number of minutes
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.subMinutes(12); // Time(10, 24, 22)
def Time result2 = subMinutes(now, 12); // Time(10, 24, 22)
def Time time = createTime(10, 36, 22);
def int minutes = 12;
def Time result = time.subMinutes(minutes); // Time(10, 24, 22)
def Time result2 = subMinutes(time, minutes); // Time(10, 24, 22)

subSeconds(Time | DateTime value, int secondsToSubtract)

  • Returns a new Time / DateTime from the given value after subtracting the given number of seconds
def Time now = new Time(); // Time(10, 36, 22)
def Time result = now.subSeconds(40); // Time(10, 35, 42)
def Time result2 = subSeconds(now, 40); // Time(10, 35, 42)
def Time time = createTime(10, 7, 6);
def int seconds = 23;
def Time result = time.subSeconds(seconds); // Time(10, 6, 43)
def Time result2 = subSeconds(time, seconds); // Time(10, 6, 43)

yearsBetween(DateTime | Date value1, DateTime | Date value2)

  • Returns an integer representing total number of years between value1 and value2
  • Returns negative value if value2 is lesser than value1
def Date eventStartDate = createDate(2023, 3, 10); 
def Date eventEndDate = createDate(2025, 4, 3);
def int value1 = eventStartDate.yearsBetween(eventEndDate); // 2
def int value2 = yearsBetween(eventStartDate, eventEndDate); // 2
def Date eventStartDate = createDate(1990, 1, 1);
def Date eventEndDate = createDate(2025, 4, 3);
def int value1 = eventStartDate.yearsBetween(eventEndDate); // 35
def int value2 = yearsBetween(eventStartDate, eventEndDate); // 35

monthsBetween(DateTime | Date value1, DateTime | Date value2)

  • Returns an integer representing total number of years between value1 and value2
  • Returns negative value if value2 is lesser than value1
def Date eventStartDate = createDate(2023, 3, 10); 
def Date eventEndDate = createDate(2025, 4, 3);
def int value1 = eventStartDate.monthsBetween(eventEndDate); // 24
def int value2 = monthsBetween(eventStartDate, eventEndDate); // 24
def Date eventStartDate = createDate(1990, 1, 1);
def Date eventEndDate = createDate(2025, 4, 3);
def int value1 = eventStartDate.monthsBetween(eventEndDate); // 408
def int value2 = monthsBetween(eventStartDate, eventEndDate); // 408

weeksBetween(DateTime | Date value1, DateTime | Date value2)

  • Returns an integer representing total number of years between value1 and value2
  • Returns negative value if value2 is lesser than value1
def Date eventStartDate = createDate(2023, 3, 10);
def Date eventEndDate = createDate(2025, 4, 3);
def int value1 = eventStartDate.weeksBetween(eventEndDate); // 107
def int value2 = weeksBetween(eventStartDate, eventEndDate); // 107
def Date eventStartDate = createDate(1990, 1, 1);
def Date eventEndDate = createDate(2025, 4, 3);
def int value1 = eventStartDate.weeksBetween(eventEndDate); // 1826
def int value2 = weeksBetween(eventStartDate, eventEndDate); // 1826

daysBetween(DateTime | Date value1, DateTime | Date value2)

  • Returns an integer representing total number of years between value1 and value2
  • Returns negative value if value2 is lesser than value1
def Date eventStartDate = createDate(2023, 3, 10);
def Date eventEndDate = createDate(2025, 4, 3);
def int value1 = eventStartDate.daysBetween(eventEndDate); // 755
def int value2 = daysBetween(eventStartDate, eventEndDate); // 755
def Date eventStartDate = createDate(1990, 1, 1);
def Date eventEndDate = createDate(2025, 4, 3);
def int value1 = eventStartDate.daysBetween(eventEndDate); // 12615
def int value2 = daysBetween(eventStartDate, eventEndDate); // 12615

hoursBetween(DateTime | Time value1, DateTime | Time value2)

  • Returns an integer representing total number of hours between value1 and value2
  • Returns negative value if value2 is lesser than value1
def Time eventStartDate = createTime(7,47,12); 
def Time eventEndDate = createTime(11, 13, 9);
def int value1 = eventStartDate.hoursBetween(eventEndDate); // 3
def int value2 = hoursBetween(eventStartDate, eventEndDate); // 3
def Time eventStartDate = createTime(5, 23,41);
def Time eventEndDate = createTime(11, 13, 9);
def int value1 = eventStartDate.hoursBetween(eventEndDate); // 5
def int value2 = hoursBetween(eventStartDate, eventEndDate); // 5

minutesBetween(DateTime | Time value1, DateTime | Time value2)

  • Returns an integer representing total number of minutes between value1 and value2
  • Returns negative value if value2 is lesser than value1
def Time eventStartDate = createTime(7,47,12); 
def Time eventEndDate = createTime(11, 13, 9);
def int value1 = eventStartDate.minutesBetween(eventEndDate); // 205
def int value2 = minutesBetween(eventStartDate, eventEndDate); // 205
def Time eventStartDate = createTime(5, 23,41);
def Time eventEndDate = createTime(11, 13, 9);
def int value1 = eventStartDate.minutesBetween(eventEndDate); // 350
def int value2 = minutesBetween(eventStartDate, eventEndDate); // 350

secondsBetween(DateTime | Time value1, DateTime | Time value2)

  • Returns an integer representing total number of seconds between value1 and value2
  • Returns negative value if value2 is lesser than value1
def Time eventStartDate = createTime(7,47,12); 
def Time eventEndDate = createTime(11, 13, 9);
def int value1 = eventStartDate.secondsBetween(eventEndDate); // 12357
def int value2 = secondsBetween(eventStartDate, eventEndDate); // 12357
def Time eventStartDate = createTime(5, 23,41);
def Time eventEndDate = createTime(11, 13, 9);
def int value1 = eventStartDate.secondsBetween(eventEndDate); // 21568
def int value2 = secondsBetween(eventStartDate, eventEndDate); // 21568

yearFractionBetween(DateTime | Date value1, DateTime | Date value2)

  • Returns a real number representing total number of years between value1 and value2
  • Returns negative value if value2 is lesser than value1
def Date eventStartDate = createDate(2023, 3, 10); 
def Date eventEndDate = createDate(2025, 4, 3); // Date(2021, 12, 21)
def real value1 = eventStartDate.yearFractionBetween(eventEndDate); // 2.0684
def real value2 = yearFractionBetween(eventStartDate, eventEndDate); // 2.0684
def Date eventStartDate = createDate(1990, 1, 1);
def Date eventEndDate = createDate(2025, 4, 3);
def real value1 = eventStartDate.yearFractionBetween(eventEndDate); // 35.315
def real value2 = yearFractionBetween(eventStartDate, eventEndDate); // 35.315

isLeapYear(Date | DateTime value)

  • Returns a boolean indicating whether the given value is a leap year
  • You can use the not variant of this function as detailed here
def Date date = new Date();
def boolean result1 = date.isLeapYear(); // true
def boolean result2 = isLeapYear(date); // true
def Date date = createDate(2025, 4, 3);
def boolean result1 = date.isLeapYear(); // false
def boolean result2 = isLeapYear(date); // false

inFuture(Date | DateTime value, (Optional) int offset, (Optional) String unit)

  • Returns a boolean indicating whether the given value is in the future
  • You can optionally pass offset and unit, to offset the given value. Valid Units
    • Y - years
    • M - months
    • W - weeks
    • D - days
  • You can use the not variant of this function as detailed here
def Date date1 = new Date().addDays(5);
def boolean result1 = date1.inFuture(); // true
def boolean result2 = inFuture(date1); // true

def Date date2 = new Date().subDays(5);
def boolean result3 = date2.inFuture(); // false
def boolean result4 = inFuture(date2); // false

def Date date3 = new Date().addDays(5);
def boolean result5 = date3.inFuture(3, "D"); // true
def boolean result6 = inFuture(date3, 3, "D"); // true

def Date date4 = new Date().subDays(5);
def boolean result7 = date4.inFuture(3, "D"); // false
def boolean result8 = inFuture(date4, 3, "D"); // false

inPast(Date | DateTime value, (Optional) int offset, (Optional) String unit)

  • Returns a boolean indicating whether the given value is in the past
  • You can optionally pass offset and unit, to offset the given value. Valid Units
    • Y - years
    • M - months
    • W - weeks
    • D - days
  • You can use the not variant of this function as detailed here
def Date date1 = new Date().addDays(5);
def boolean result1 = date1.inPast(); // false
def boolean result2 = inPast(date1); // false

def Date date2 = new Date().subDays(5);
def boolean result3 = date2.inPast(); // true
def boolean result4 = inPast(date2); // true

def Date date3 = new Date().addDays(5);
def boolean result5 = date3.inPast(3, "D"); // false
def boolean result6 = inPast(date3, 3, "D"); // false

def Date date4 = new Date().subDays(5);
def boolean result7 = date4.inPast(3, "D"); // true
def boolean result8 = inPast(date4, 3, "D"); // true