日付の操作
スマート値をサポートするフィールド内で、作成日、更新日、期日、解決日 (および [日付ピッカー] カスタム フィールド) を操作して書式設定できます。日付関数と属性は、日付参照セクションにあります。
古い構文
2018 年 11 月より前に作成されたルールについては、古い構文ドキュメントをご参照ください。
日付をフォーマットする
スマート値の末尾に日付の形式を指定します。
// using inbuilt formats
{{issue.resolutiondate.asLongDateTime}}
{{issue.MyDateFieldName.longDateTime}}
{{issue.created.jqlDateTime}}
{{issue.created.mediumTime}}
{{issue.Sprint.endDate.jiraDate}} - format the Sprint field's end date into a format suitable to set another field
// Or, you can specify the format
{{issue.dueDate.format("dd/MM/yyyy")}}
{{issue.created.as("dd MMM")}}
利用可能な日付形式の完全なリストについては、リファレンス ガイドをご参照ください。
ロケール (位置に基づく日付形式)
印刷する日付のロケールを指定します (初期設定は「US」ロケールです)。
// Prints the issue's created date in French
{{issue.created.withLocale("fr").asLongDateTime}}
// Prints the issue's created date in French Canadian
{{issue.created.locale("fr_CA").longDateTime}}
// Prints the issue's created date in the locale of the reporter
{{issue.created.locale(issue.reporter.locale).longDateTime}}
ロケールのリストについては、Java ドキュメントをご参照ください。
タイム ゾーン
日付は Jira の初期設定のタイムゾーンで表示されます。
// Converts the issue's created time to the new timezone,
// e.g. 10am UTC converts to 8pm AEST
{{issue.created.convertToTimeZone("Australia/Sydney")}}
// Converts the issue's created time to the new timezone and keeps the same
// times/dates. E.g. 10am UTC changes to 10am AEST
{{issue.created.setTimeZone("Australia/Sydney")}}
タイムゾーンのリストは、Java ドキュメントをご参照ください。
ユーザーのタイムゾーンを指定する
// Prints the issue's created time in the reporters timezone.
{{issue.created.convertToTimeZone(issue.reporter.timeZone)}}
日付の操作
日付の一部を設定するかそこから値を加算/減算することで、日付を操作します。
// Add 7 days to the current time
{{now.plusDays(7)}}
// You can chain functions
// Set the created date to November 1st
{{issue.created.withDayOfMonth(1).withMonth(11)}}
日付属性
日付内の個々の属性 (月など) を取得します。
// Get today's day of the month
{{now.dayOfMonth}}
// Get the day of the week the issue was created
{{issue.created.dayOfWeekName}}
// Get the day name of the week in French
{{issue.created.locale("fr").dayOfWeekName}}
営業日の計算
現在の日付から営業日を増減するか、現在の日付に最も近い営業日を見つけます。営業日は月曜日から金曜日とします。
// The next business day
{{now.toBusinessDay()}}
// The next business day after 3 days
{{now.plusDays(3).toBusinessDay()}}
// The previous business day
{{now.toBusinessDayBackwards()}}
// Adds 6 business days to today
{{now.plusBusinessDays(6)}}
// The first business day of the month
{{now.firstBusinessDayOfMonth}}
// The last business day of the month
{{now.lastBusinessDayOfMonth}}
// The number of business days beeween when the issue was created and today
{{now.diff(issue.created).businessDays}}
2 つの日付の差異を計算する
「diff」メソッドは別の日付に渡してから測定する単位を指定することで、2 つの日付の差異を計算します。
// Gets how many hours since an issue was created
{{now.diff(issue.created).hours}}
// Gets the number of days between two dates
{{now.diff(issue.created).days}}
// To show positive dates use the "abs" method
{{now.diff(issue.created).abs.days}}
2 つの日付を比較する
2 つの日付を比較できます。これらのメソッドは、別の日付をパラメーターとして取得します。
// Returns "true"
{{now.isAfter(issue.created)}}
ヒント
比較条件によって日付を比較します。
テキストを日付に変換する
日付がテキストの際 (changelog 内など)、日付はテキストとして保存されます。
{{issue.summary.toDate}}
正しい書式の場合はテキストを日付に変換します。パラメーターを追加することで、どの書式から変換するかを指定できます。以下の例では、"2017 6 11" というテキストを日付オブジェクトに変換します。
{{issue.summary.toDate("yyyy MM dd")}}
テキストを日付オブジェクトに変換した後に、フィールドの変更など、そのオブジェクトをさらに変換する必要がある場合があります (例: 日付の変更をリッスンする場合)。
{{fieldChange.fromString.toDate.plusDays(1).longDate}}
現在の日付/時刻を参照する
{{now}}
によって現在の日時を参照できます。
例
// 1st of May this year
{{now.startOfMonth.withMonth(5)}}
// 1st of May next year
{{now.startOfMonth.withMonth(5).plusYears(1)}}
// last day of May
{{now.withMonth(5).endOfMonth}}
// first business day in May
{{now.withMonth(5).firstBusinessDayOfMonth}}
// last business day in May
{{now.withMonth(5).lastBusinessDayOfMonth}}