Функции массива

Функции даты/времени работают с числовым представлением времени. Момент времени представлен количеством миллисекунд с полуночи 1 января 1970 года по Гринвичу. Допускаются отрицательные значения, представляющие время до 1 января 1970 года.

Чтобы отобразить результат вычисления даты/времени в удобочитаемом виде, необходимо либо настроить формулу для использования формата даты/времени, либо использовать одну из функций преобразования, чтобы преобразовать значение в удобочитаемый текст.

Многие функции даты/времени зависят от часового пояса текущего пользователя.

DATE

DATE(Text; Locale; TimeZone)

Преобразует текстовое представление даты в число.

 

Параметр         

Тип

Описание

Text

Текст/Каждый

Текстовое значение для преобразования.

Locale (необязательно)

Текст

Необязательный идентификатор локали, например "fr_FR". Если не указано, используется локаль пользователя.

TimeZone (необязательно)

Текст

Необязательный идентификатор часового пояса, например "America/New_York".

Result

Число

Отметка времени, соответствующая полуночи указанной даты в указанном часовом поясе. Если преобразование не удалось, возвращает ошибку.

 

Преобразование использует стандартные форматы для представления дат:

  • Формат "гггг-мм-дд", например "2017-04-15".
  • Стандартные форматы для указанной локали.
  • Форматы Jira, указанные в системных настройках Jira.

 

Примеры:

  • DATE("2016-01-01")
  • DATE("31/Dec/16")
  • DATE("12/31/2016", "en_US", "America/New_York")

 

DATE_ADD

DATE_ADD(DateTime, Number, Unit)

Добавляет указанное целое число секунд, минут, часов, дней, месяцев или лет к дате или значению даты/времени.

Параметр         

Тип

Описание

DateTime

Дата/каждый

Дата или значение даты/времени.

Number

Integer

Целое число единиц времени для добавления.

Unit

Текст

Текстовое значение, указывающее единицу времени: «секунды», «минуты», «часы», «дни», «месяцы», «годы».

Result

Дата

 

 

Примеры:

  • DATE_ADD(DATE("2016-01-31"), 1, "day") → DATE("2016-02-01")
  • DATE_ADD(DATE("2016-01-31"), 1, "month") → DATE("2016-02-29")
  • DATE_ADD(DATE("2016-02-29"), 1, "year") → DATE("2017-02-28")
  • DATE_ADD(DATETIME("2016-01-31 10:30:00"), 3, "hours") → DATETIME("2016-01-31 13:30:00")
  • DATE_ADD(DATETIME("2016-01-31 23:59:59"), 2, "minutes") → DATETIME("2016-02-01 00:01:59")

 

Второй параметр (Число) должен быть целым числом.

DATE_SET

DATE_SET(DateTime, Number, Unit)(дата/время, число, единица измерения)

Устанавливает указанную часть даты или дату/время в конкретное целочисленное значение. Обратите внимание, что, в отличие от DATE_ADD и DATE_SUBTRACT, вы можете указать дополнительные единицы измерения, такие как «day_of_week».

Параметр         

Тип

Описание

DateTime

Дата/каждый

Дата или значение даты/времени.

Number

Integer

Целое число, которое будет установлено в качестве значения единицы измерения в эту дату/время.

Unit

Текст

Текстовое значение, указывающее единицу времени: «секунды», «минуты», «часы», «дни», «месяцы», «годы», «дни недели»

Result

Дата

Скорректировано DATETIME.

 

Примеры:

  • DATE_SET(DATE("2016-01-31"), 2017, "year") → DATE("2017-01-31")
  • DATE_SET(DATE("2016-01-31"), 2, "month") → DATE("2016-02-29")
  • DATE_SET(DATETIME("2016-02-29 15:30"), 10, "day") → DATETIME("2016-02-10 15:30")
  • DATE_SET(DATE("2017-04-01"), 7, "day_of_week") → DATE("2017-04-02")
  • DATE_SET(DATETIME("2016-01-31 10:30:00"), 0, "hour") → DATETIME("2016-01-31 00:30:00")

DATE_SUBTRACT

DATE_SUBTRACT(DateTime, Number, Unit)

Вычитает указанное целое число секунд, минут, часов, дней, месяцев или лет из значения даты или даты/времени.

Параметр         

Тип

Описание

DateTime

Дата/каждый

Дата или значение даты/времени.

Number

Integer

Целое число единиц времени для вычитания.

Unit

Текст

Текстовое значение, указывающее единицу времени: «секунды», «минуты», «часы», «дни», «месяцы», «годы».

Result

Дата

Скорректировано DATETIME.

 

Примеры:

  • DATE_SUBTRACT(DATE("2016-02-01"), 1, "day") → DATE("2016-01-31")
  • DATE_SUBTRACT(DATE("2016-02-29"), 1, "month") → DATE("2016-01-29")
  • DATE_SUBTRACT(DATE("2017-02-28"), 1, "year") → DATE("2016-02-28")
  • DATE_SUBTRACT(DATETIME("2016-01-31 10:30:00"), 3, "hours") → DATETIME("2016-01-31 07:30:00")
  • DATE_SUBTRACT(DATETIME("2016-02-01 00:01:59"), 2, "minutes") → DATETIME("2016-01-31 23:59:59")

DAY

DAY(DateTime)

Возвращает день месяца для заданной даты или значения даты/времени.

Параметр         

Тип

Описание

DateTime

Дата/каждый

Значение даты/времени.

Result

Число

Числовое значение дня месяца. Результат рассчитывается с использованием часового пояса текущего пользователя.

Пример:

  • DAY(DATE("2017-04-15")) → 15

DAYS_BETWEEN

DAYS_BETWEEN(DateTime1, DateTime2)

Вычисляет количество полных дней (24-часовой период) между двумя значениями даты или даты/времени.

Параметр         

Тип

Описание

DateTime1

Дата

Первая дата или значение даты/времени для сравнения.

DateTime2

 

Дата

Второе значение даты или даты/времени для сравнения.

Result

Число

Количество полных дней между датами. Возвращает отрицательное значение, если DateTime2 наступает раньше, чем DateTime1.

 

Примеры:

  • DAYS_BETWEEN(DATE("2017-01-01"), DATE("2017-02-01")) → 31
  • DAYS_BETWEEN(DATE("2017-01-01"), DATE("2017-01-01")) → 0
  • DAYS_BETWEEN(DATE("2017-01-01"), DATE("2016-01-01")) → -366
  • DAYS_BETWEEN(DATETIME("2017-01-01 00:00"), DATETIME("2017-01-01 23:59")) → 0
  • DAYS_BETWEEN(DATETIME("2017-01-01 23:59"), DATETIME("2017-01-02 23:58")) → 0
  • DAYS_BETWEEN(DATETIME("2017-01-01 23:59"), DATETIME("2017-01-02 23:59")) → 1

DATETIME

DATETIME(Text; Locale; TimeZone)

Преобразует текстовое представление даты и времени в числовое представление этой даты и времени. Полученная временная метка будет соответствовать указанной дате и времени в указанном часовом поясе. Если секунды не указаны, они будут установлены равными нулю.

Параметр         

Тип

Описание

Text

Текст/каждый

Текстовое значение для преобразования.

Locale (необязательно)

Текст

Необязательный идентификатор локали, например "fr_FR". Если не указано, используется локаль пользователя.

TimeZone (необязательно)

Текст

Необязательный идентификатор часового пояса, например "America/New_York".

→ Result

Дата

Отметка времени, соответствующая указанной дате и времени в указанном часовом поясе. Если секунды не указаны, они будут установлены равными нулю. Если преобразование не удалось, возвращает ошибку.

 

Преобразование использует стандартные форматы для представления дат:

  • Формат "гггг-ММ-дд ЧЧ:мм:сс" и то же самое без секунд, например "2017-04-15 15:00" или "2017-12-31 23:59:59" (используя 24-часовой формат времени) .
  • Стандартные форматы для указанной локали.
  • Форматы Jira, указанные в системных настройках Jira.

 

Примеры:

  • DATETIME("2016-01-01 00:01")
  • DATETIME("31/Dec/16 3:15 pm")
  • DATETIME("12/31/2016, 3:15 PM", "en_US", "America/New_York")

END_OF_MONTH

END_OF_MONTH(DateTime)

Устанавливает день в значении даты/времени на конец месяца. Не изменяет значение времени.

 

Параметр         

Тип

Описание

DateTime

Дата /каждый

Значение даты или времени

Result

Дата

Дата устанавливается на конец месяца. Стоимость времени неизменна.

Пример:

  • END_OF_MONTH(DATE("2017-04-15")) → DATE("2017-04-30")

FORMAT_DATETIME

FORMAT_DATETIME(DateTime, Format, Locale, TimeZone)

Расширенная функция для преобразования значения даты/времени в текст. Принимает текст произвольного формата и, при необходимости, настройки локали и часового пояса. Не зависит ни от языкового стандарта текущего пользователя, ни от часового пояса.

Параметр         

Тип

Описание

DateTime

Дата /каждый

Значение для преобразования.

Format

Текст

Строка формата. Все параметры см. в документации по Java для SimpleDateFormat.

Locale()

Текст

Необязательный идентификатор локали. Если он опущен или не определен, будет использоваться языковой стандарт системы Jira. (Не языковой стандарт пользователя!)

TimeZone()

Текст

Необязательный идентификатор часового пояса. Если он опущен или не определен, будет использоваться системный часовой пояс Jira. (Не часовой пояс пользователя!)

Result

Текст

DateTime                 преобразованы в текст.

Примеры:

  • FORMAT_DATETIME(DATE("2017-04-15"), "EEE, MMM d, `yy", "fr_FR") → "sam., avr. 15, `17"
  • FORMAT_DATETIME(DATETIME("2016-12-31 23:59"), "yyyy-MM-dd'T'HH:mm:ss") → "2016-12-31T23:59:00"

HOUR

HOUR(DateTime)

Возвращает час в указанном значении даты/времени (от 0 до 23).

Параметр         

Тип

Описание

DateTime

Дата /каждый

Дата или значение даты/времени.

Result

Число

Числовое значение часа (от 0 до 23).

Пример:

  • HOUR(DATETIME("2017-01-01 20:15")) → 20

HOURS_BETWEEN

HOURS_BETWEEN(DateTime1, DateTime2)

Вычисляет количество полных часов между двумя значениями даты/времени.

Параметр         

Тип

Описание

DateTime1

Дата

Первое значение даты/времени для сравнения.

DateTime2

Дата

Второе значение даты/времени для сравнения.

Result

Число

Количество полных часов между значениями даты/времени. Возвращает отрицательное значение, если DateTime2 наступает раньше, чем DateTime1.

 

Примеры:

  • HOURS_BETWEEN(DATE("2017-01-01"), DATE("2017-01-02")) → 24
  • HOURS_BETWEEN(DATETIME("2017-01-01 15:00"), DATETIME("2017-01-01 16:30")) → 1
  • HOURS_BETWEEN(DATETIME("2017-01-01 23:59"), DATETIME("2017-01-02 00:58")) → 0
  • HOURS_BETWEEN(DATETIME("2017-01-01 23:59"), DATETIME("2017-01-02 00:59")) → 1

MAKE_DATE

MAKE_DATE(Year, Month, Day)

Создает значение даты на основе чисел, определяющих год, месяц и день. Время установлено на полночь в часовом поясе пользователя.

Параметр         

Тип

Описание

Year

Число

Год.

Month

Число

Число, соответствующее месяцу.

Day

Число

Число, соответствующее дню месяца.

→ Result

Дата

Дата/время установлены на полночь в часовом поясе текущего пользователя.

Пример:

 

  • MAKE_DATE(2017, 12, 31)

MAKE_DATETIME

MAKE_DATETIME(Year, Month, Day, Hour, Minute, Second)

Создает значение даты/времени на основе чисел, определяющих год, месяц, день, час, минуту и секунду.

Параметр         

Тип

Описание

Year

Число

Год.

Month

Число

Число, соответствующее месяцу.

Day

Число

Число, соответствующее дню месяца.

Hour

Число

Час

Minute

Число

Минуты.

Second)

Число

Секунды.

→ Result

Дата

Дата/время установлены на полночь в часовом поясе текущего пользователя.

Пример:

  • MAKE_DATETIME(2017, 12, 31, 23, 59, 59)

MINUTE

MINUTE(DateTime)

Возвращает минуты в указанном значении даты/времени.

Параметр         

Тип

Описание

DateTime

Дата/каждая

дата или значение даты/времени

→ Result

Число

Минуты(от 0 до 59)

 

Пример:

  • MINUTE(DATETIME("2017-01-01 20:15")) → 15

MONTH

MONTH(DateTime)

Возвращает месяц в указанном значении даты/времени.

 

 

Параметр         

Тип

Описание

DateTime

Дата/каждая

дата или значение даты/времени.

→ Result

Число

Числовое значение месяца (от 1 до 12).

                          

Пример:

  • MONTH(DATE("2017-04-15")) → 4

MONTHS_BETWEEN

MONTHS_BETWEEN(DateTime1, DateTime2)

Вычисляет количество месяцев между двумя значениями даты или даты/времени.

Параметр         

Тип

Описание

DateTime1

Дата

Первая дата или значение даты/времени для сравнения.

DateTime2

Дата

Второе значение даты или даты/времени для сравнения.

→ Result

Число

Количество полных месяцев между значениями даты/времени. Возвращает отрицательное значение, если DateTime2 наступает раньше, чем DateTime1.

 

Примеры:

  • MONTHS_BETWEEN(DATE("2017-01-01"), DATE("2018-01-01")) → 12
  • MONTHS_BETWEEN(DATE("2017-01-31"), DATE("2017-02-28")) → 0
  • MONTHS_BETWEEN(DATE("2017-02-28"), DATE("2017-04-28")) → 2
  • MONTHS_BETWEEN(DATE("2017-01-01"), DATE("2016-12-01")) → -1

NOW

NOW()

Возвращает текущую дату и время.

Параметр         

Тип

Описание

→ Result.

Дата

Текущая дата и время.

 

Пример:

  • NOW()

PARSE_DATETIME

PARSE_DATETIME(Text, Format, Locale, TimeZone)

Расширенная функция для преобразования текста в значение даты или даты/времени. Принимает произвольную строку формата и, при необходимости, настройки локали и часового пояса. Не зависит ни от языкового стандарта текущего пользователя, ни от часового пояса.

Параметр         

Тип

Описание

Text

Текст/каждый

 

Format

 

Строка формата. Все параметры см. в документации по Java для SimpleDateFormat.

Locale(необязательно)

 

Необязательный идентификатор локали. Если он опущен или не определен, будет использоваться языковой стандарт системы Jira. (Не языковой стандарт пользователя!)

TimeZone(необязательно)

 

Необязательный идентификатор часового пояса. Если он опущен или не определен, будет использоваться системный часовой пояс Jira. (Не часовой пояс пользователя!)

→ Result

Дата

Дата или значение даты/времени для исходного текста.

 

Примеры:

  • PARSE_DATETIME("sam., avr. 15, `17", "EEE, MMM d, `yy", "fr_FR") → DATE("2017-04-15")
  • PARSE_DATETIME("2016-12-31T23:59:00", "yyyy-MM-dd'T'HH:mm:ss") → DATETIME("2016-12-31 23:59")

SECOND

SECOND(DateTime)

Возвращает секунды в указанном значении даты/времени.

Параметр         

Тип

Описание

DateTime

Дата/каждая

дата или значение даты/времени.

→ Result

Число

Секунды(от 0 до 59).

Пример:

  • SECOND(DATETIME("2017-04-15 15:30:59")) → 59

START_OF_MONTH

START_OF_MONTH(DateTime)

Устанавливает день в значении даты/времени на первый день месяца.

Параметр         

Тип

Описание

DateTime

Дата/каждая

дата или значение даты/времени.

→ Result

Дата

Дата устанавливается на первый день месяца. Значение времени неизменно.

 

Пример:

  • START_OF_MONTH(DATE("2017-04-15")) → DATE("2017-04-01")

TODAY

TODAY()

Возвращает текущую дату со временем, равным полуночи, в соответствии с часовым поясом текущего пользователя.

Параметр         

Тип

Описание

→ Result

Дата

Текущая дата.

 

Пример:

  • TODAY()

TRUNCATE_TIME

TRUNCATE_TIME(DateTime)

Удаляет значение времени из даты/времени.

 

 

 

 

Параметр         

Тип

Описание

DateTime

Дата/каждая

дата или значение даты/времени.

→ Result

Дата

Дата, установленная на полночь в часовом поясе текущего пользователя.

 

Пример:

  • TRUNCATE_TIME(DATETIME("2017-01-01 15:15")) → DATE("2017-01-01")

TRUNCATE_TO_HOURS

TRUNCATE_TO_HOURS(DateTime)

Удаляет минуты, секунды и миллисекунды из даты/времени.

Параметр         

Тип

Описание

DateTime

Дата/каждая

дата или значение даты/времени.

→ Result

Дата

Дата/время, установленные на последний четный час в часовом поясе текущего пользователя.

 

Пример:

  • TRUNCATE_TO_HOURS(DATETIME("2017-01-01 15:15")) → DATE("2017-01-01 15:00")

TRUNCATE_TO_MINUTES

TRUNCATE_TO_MINUTES(DateTime)

Удаляет секунды и миллисекунды из даты/времени.

Параметр         

Тип

Описание

DateTime

Дата/каждая

дата или значение даты/времени.

→ Result

Дата

Дата/время, установленное на последнюю четную минуту.

 

 

Пример:

  • TRUNCATE_TO_MINUTES(DATETIME("2017-01-01 15:15:15")) → DATE("2017-01-01 15:15:00")

TRUNCATE_TO_SECONDS

TRUNCATE_TO_SECONDS (дата/время)

Удаляет миллисекунды из дат/времени.

Параметр         

Тип

Описание

DateTime

Дата/каждая

дата или значение даты/времени.

→ Result

Дата

Дата/время с удаленными миллисекундами.

 

Пример:

  • TRUNCATE_TO_SECONDS(NOW())

WEEKDAY

WEEKDAY(DateTime)

Возвращает номер дня недели.

Параметр         

Тип

Описание

DateTime

Дата/каждая

Дата или значение даты/времени.

→ Result

Число

Числовое значение дня недели. Соответствует стандарту ISO-8601 (1 — понедельник, 7 — воскресенье).

 

Пример:

  • WEEKDAY(DATE("2017-04-23")) → 7

WEEKNUM

WEEKNUM(DateTime)

Возвращает номер недели в году.

 

Параметр         

Тип

Описание

DateTime

Дата/каждая

Дата или значение даты/времени.

→ Result

Число

Числовое значение недели года. Соответствует стандарту ISO-8601.

 

Пример:

  • WEEKNUM(DATE("2017-01-02")) → 2

YEAR

YEAR(DateTime)

Возвращает год в виде даты или значения даты/времени в виде числа.

Параметр         

Тип

Описание

DateTime

Дата/каждая

 

→ Result

Integer

Год.

 

Пример:

  • YEAR(DATE("2017-04-23")) → 2017

YEARS_BETWEEN

YEARS_BETWEEN(DateTime1, DateTime2)

Вычисляет количество лет между двумя значениями даты или даты/времени.

Параметр         

Тип

Описание

DateTime1

Дата

Первая дата или значение даты/времени для сравнения.

DateTime2

Дата

Второе значение даты или даты/времени для сравнения.

→ Result

Число

Количество полных лет между значениями даты/времени. Возвращает отрицательное значение, если DateTime2 наступает раньше, чем DateTime1.

 

Примеры:

  • YEARS_BETWEEN(DATE("2017-01-01"), DATE("2018-01-01")) → 1
  • YEARS_BETWEEN(DATE("1703-05-27"), DATE("2017-04-23")) → 313
  • YEARS_BETWEEN(DATE("2017-06-01"), DATE("2018-05-31")) → 0

По материалам Atlassian JIRA Structure: Data and Time Functions