Функции даты/времени работают с числовым представлением времени. Момент времени представлен количеством миллисекунд с полуночи 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