Работа с датами

Вы можете управлять датами создания, обновления, датирования и разрешения (а также пользовательским полем «Выбор даты» ("Date Picker")) и форматировать их внутри полей, поддерживающих интеллектуальные значения. Функции и атрибуты даты находятся в разделе справки по датам.

Старый синтаксис

Для правил, созданных до ноября 2018 г., обратитесь к старой документации по синтаксису.

Форматирование дат

Вы указываете формат даты в конце умного значения:


// использование встроенных форматов

{{issue.resolutiondate.asLongDateTime}}

{{issue.MyDateFieldName.longDateTime}}

{{issue.created.jqlDateTime}}

{{issue.created.mediumTime}}

{{issue.Sprint.endDate.jiraDate}} - отформатируйте дату окончания поля Sprint в формат, подходящий для установки другого поля

// Или вы можете указать формат

{{issue.dueDate.format("dd/MM/yyyy")}}

{{issue.created.as("dd MMM")}}

См. Полный список доступных форматов дат в нашем справочном руководстве.

Локаль (формат даты на основе местоположения)

Вы можете указать языковой стандарт для печати дат (по умолчанию - «США»).


// Печатает дату создания выпуска на французском языке

{{issue.created.withLocale ("fr"). asLongDateTime}}

// Печатает дату создания выпуска на французском канадском языке

{{issue.created.locale ("fr_CA"). longDateTime}}

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

{{issue.created.locale (issue.reporter.locale) .longDateTime}}

Список локалей см. в документации Java.

Часовой пояс

Даты отображаются в часовом поясе Jira по умолчанию.


// Преобразует время создания задачи в новый часовой пояс,

// например 10:00 UTC конвертируется в 8:00 AEST{{issue.created.convertToTimeZone ("Australia/Sydney")}}

// Преобразует время создания задачи в новый часовой пояс и сохраняет то же самое

// раз / даты. Например. 10:00 UTC меняется на 10:00 AEST

{{issue.created.setTimeZone ("Australia/Sydney")}}

Список часовых поясов см. в документации Java.

Укажите часовой пояс пользователя:


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

{{issue.created.convertToTimeZone (issue.reporter.timeZone)}}

Управление датами

Управляйте датами, задавая части даты или добавляя / вычитая из нее значения:


// Добавляем 7 дней к текущему времени

{{now.plusDays (7)}}

 

// Вы можете связать функции

// Установите дату создания на 1 ноября

{{issue.created.withDayOfMonth (1) .withMonth (11)}}

Атрибуты даты

Получить отдельные атрибуты дня, например месяц


// Получаем сегодняшний день месяца

{{now.dayOfMonth}}

// Получаем день недели, когда проблема была создана

{{issue.created.dayOfWeekName}}

// Получаем название дня недели на французском языке

{{issue.created.locale ("fr"). dayOfWeekName}}

Расчет рабочих дней

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


// На следующий рабочий день

{{now.toBusinessDay ()}}

// На следующий рабочий день через 3 дня

{{now.plusDays (3) .toBusinessDay ()}}

// Предыдущий рабочий день

{{now.toBusinessDayBackwards ()}}

// Добавляет 6 рабочих дней к сегодняшнему дню

{{now.plusBusinessDays (6)}}

// Первый рабочий день месяца

{{now.firstBusinessDayOfMonth}}

// Последний рабочий день месяца

{{now.lastBusinessDayOfMonth}}

// Количество рабочих дней до создания задачи и сегодня

{{now.diff (issue.created) .businessDays}}

Расчет разницы между двумя датами

Метод «diff» для вычисления разницы между двумя датами путем передачи другой даты и последующего указания единиц измерения.


// Получает количество часов с момента создания задачи

{{now.diff (issue.created) .hours}}

// Получает количество дней между двумя датами

{{now.diff (issue.created) .days}}

// Чтобы показать положительные даты, используйте метод "abs"

{{now.diff (issue.created) .abs.days}}

Сравнение двух дат

Вы можете сравнить две даты. Эти методы принимают в качестве параметра другую дату.


// Возвращает "истину"

{{now.isAfter (issue.created)}}

Подсказка

Сравните даты, используя условие сравнения.

Преобразование текста в даты

Когда дата является текстом, например в журнале изменений даты хранятся в виде текста:


{{issue.summary.toDate}}

Преобразуйте текст в дату, если он имеет правильный формат. Вы можете указать формат для преобразования, добавив параметр. В приведенном ниже примере преобразуется текст, например «2017 6 11» в объект даты.


{{issue.summary.toDate("yyyy MM dd")}}

После преобразования текста в объект Date вам может потребоваться его дальнейшее преобразование, например для поля измененного (например, прослушивание изменения даты)


{{fieldChange.fromString.toDate.plusDays (1) .longDate}}

Ссылка на текущую дату / время

Вы можете указать текущую дату и время, используя {{сейчас}}

Пример


// 1 мая этого года

{{now.startOfMonth.withMonth (5)}}

// 1 мая следующего года

{{now.startOfMonth.withMonth (5) .plusYears (1)}}

 

// последний день мая

{{now.withMonth (5) .endOfMonth}}

// первый рабочий день мая

{{now.withMonth (5) .firstBusinessDayOfMonth}}

// последний рабочий день мая

{{now.withMonth (5) .lastBusinessDayOfMonth}}

По материалам Automation for Jira - Server: Working with dates