独自拡張 xAIML独自のタグです。
タグで囲んだ日時に対して加減算を行います。空要素で使用した場合はシステム日時に対して加減算を行います。
また、加減算対象の日付はyyyy-MM-dd'T'HH:mm:ss
の書式に準拠する必要があります。
1 2 3 4 5 6 |
<category> <pattern>*</pattern> <template> <date_add field="date" value="1">2019-02-14T16:08:05</date_add> </template> </category> |
属性
名称 | 型 | 必須 | デフォルト | 説明 |
---|---|---|---|---|
field |
string |
○ | – | 加減算するフィールドを以下のいずれかで指定します。year 、month 、date 、hour 、minute 、second |
value |
integer |
– | 0 |
加減算する数値を指定します。 |
predicate |
string |
– | – | 加減算する数値のPredicate名を指定します。 |
format |
日時書式 | – | yyyy-MM-dd'T'HH:mm:ss |
出力する日時の書式を指定します。 |
field
加減算したいフィールドを以下のいずれかで指定します。
year
、month
、date
、hour
、minute
、second
Example
1時間後を算出する例です。
1 2 3 4 5 6 |
<category> <pattern>*</pattern> <template> <date_add field="hour" value="1">2019-02-14T16:08:05</date_add> <!-- 「2019-02-14T17:08:05」が出力されます。 --> </template> </category> |
value
field
属性で指定したフィールドに対して加減算を行う値を指定します。
マイナス値を指定すると過去の日時を出力します。
predicate
属性と同時に指定した場合は、この属性を優先します。
Example
1 2 3 4 5 6 7 |
<set name="_var_date">2019-02-14T16:08:05</set> <date_add field="year" value="15"><get name="_var_date"/></date_add> <!-- 「2034-02-14T16:08:05」 --> <date_add field="month" value="15"><get name="_var_date"/></date_add> <!-- 「2020-05-14T16:08:05」 --> <date_add field="date" value="15"><get name="_var_date"/></date_add> <!-- 「2019-03-01T16:08:05」 --> <date_add field="hour" value="15"><get name="_var_date"/></date_add> <!-- 「2019-02-15T07:08:05」 --> <date_add field="minute" value="15"><get name="_var_date"/></date_add> <!-- 「2019-02-14T16:23:05」 --> <date_add field="second" value="15"><get name="_var_date"/></date_add> <!-- 「2019-02-14T16:08:20」 --> |
predicate
field
属性で指定したフィールドに対して加減算を行う値のPredicate名を指定します。
マイナス値を指定すると過去の日時を出力します。
value
属性と同時に指定した場合は、value
属性が優先されます。
Example
1 2 3 4 5 6 7 8 |
<set name="_var_date">2019-02-14T16:08:05</set> <set name="_var_value">100</set> <date_add field="year" predicate="_var_value"><get name="_var_date"/></date_add> <!-- 「2119-02-14T16:08:05」 --> <date_add field="month" predicate="_var_value"><get name="_var_date"/></date_add> <!-- 「2027-06-14T16:08:05」 --> <date_add field="date" predicate="_var_value"><get name="_var_date"/></date_add> <!-- 「2019-05-25T16:08:05」 --> <date_add field="hour" predicate="_var_value"><get name="_var_date"/></date_add> <!-- 「2019-02-18T20:08:05」 --> <date_add field="minute" predicate="_var_value"><get name="_var_date"/></date_add> <!-- 「2019-02-14T17:48:05」 --> <date_add field="second" predicate="_var_value"><get name="_var_date"/></date_add> <!-- 「2019-02-14T16:09:45」 --> |
format
出力する日時文字列の書式を指定します。
また、日時書式はjava.time.format.DateTimeFormatter
に準拠した内容を指定してください。
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<set name="_var_date">2019-02-14T16:08:05</set> <set name="_var_value">100</set> <!-- 「2119年02月14日 16時08分05秒」 --> <date_add field="year" predicate="_var_value" format="yyyy年MM月dd日 HH時mm分ss秒"> <get name="_var_date"/> </date_add> <!-- 「2027年06月14日 16時08分05秒」 --> <date_add field="month" predicate="_var_value" format="yyyy年MM月dd日 HH時mm分ss秒"> <get name="_var_date"/> </date_add> <!-- 「2019年05月25日 16時08分05秒」 --> <date_add field="date" predicate="_var_value" format="yyyy年MM月dd日 HH時mm分ss秒"> <get name="_var_date"/> </date_add> <!-- 「2019年02月18日 20時08分05秒」 --> <date_add field="hour" predicate="_var_value" format="yyyy年MM月dd日 HH時mm分ss秒"> <get name="_var_date"/> </date_add> <!-- 「2019年02月14日 17時48分05秒」 --> <date_add field="minute" predicate="_var_value" format="yyyy年MM月dd日 HH時mm分ss秒"> <get name="_var_date"/> </date_add> <!-- 「2019年02月14日 16時09分45秒」 --> <date_add field="second" predicate="_var_value" format="yyyy年MM月dd日 HH時mm分ss秒"> <get name="_var_date"/> </date_add> |
子要素
<template>
タグと同様です。