独自拡張 xAIML独自のタグです。
タグで囲んだ日時と、属性で指定した日時の差の絶対値を計算します。属性で日時を指定しなかった場合はシステム日時を使用して計算します。
タグで囲んだ日時は、yyyy-MM-dd'T'HH:mm:ss
の書式に準拠する必要があります。
1 2 3 4 5 6 7 |
<category> <pattern>*</pattern> <template> <!-- 2019-01-01T00:00:00と現在日時の差の絶対値が出力されます。 --> <date_span field="date">2019-01-01T00:00:00</date_span> </template> </category> |
属性
名称 | 型 | 必須 | デフォルト | 説明 |
---|---|---|---|---|
field |
string |
〇 | – | 差分を出力する単位を以下のいずれかで指定します。year 、month 、date 、hour 、minute 、second |
value |
string |
– | システム現在日時 | タグで囲んだ内容との差分を求める日時を指定します。 |
predicate |
string |
– | – | タグで囲んだ内容との差分を求める日時のPredicate名を指定します。 |
value_format |
日付書式 | – | yyyy-MM-dd'T'HH:mm:ss |
value 属性、predicate 属性で指定した日時文字列のフォーマットを指定します。 |
field
差分を出力する単位を以下のいずれかで指定します。
year
、month
、date
、hour
、minute
、second
Example
1 2 3 4 5 6 7 8 9 10 11 12 |
<category> <pattern>*</pattern> <template> <!-- 2019-02-22T00:00:00に実行した場合 --> 年:<date_span field="year">2019-01-01T00:00:00</date_span> <!-- 「0」が出力されます。 --> 月:<date_span field="month">2019-01-01T00:00:00</date_span> <!-- 「1」が出力されます。 --> 日:<date_span field="date">2019-01-01T00:00:00</date_span> <!-- 「52」が出力されます。 --> 時:<date_span field="hour">2019-01-01T00:00:00</date_span> <!-- 「1248」が出力されます。 --> 分:<date_span field="minute">2019-01-01T00:00:00</date_span> <!-- 「74880」が出力されます。 --> 秒:<date_span field="second">2019-01-01T00:00:00</date_span> <!-- 「4492800」が出力されます。 --> </template> </category> |
value
タグで囲んだ内容との差分を求める日時を指定します。
この属性の他に、predicate
属性やシステム日時を利用できます。
システム日時を利用する場合は、value
属性およびpredicate
属性を指定しないでください。
predicate
属性と同時に指定した場合は、この属性の値を優先します。
Example
1 2 3 4 5 6 7 |
<category> <pattern>*</pattern> <template> <!-- 「52」が出力されます。 --> <date_span field="date" value="2019-02-22T00:00:00">2019-01-01T00:00:00</date_span> </template> </category> |
predicate
タグで囲んだ内容との差分を求める日時のPredicate名を指定します。
この属性の他に、value
属性やシステム日時を利用できます。
システム日時を利用する場合は、value
属性およびpredicate
属性を指定しないでください。
value
属性と同時に指定した場合は、value
属性の値を優先します。
Example
1 2 3 4 5 6 7 8 |
<category> <pattern>経過日数</pattern> <template> <think><set name="_var_today">2019-02-22T00:00:00</set></think> <!-- 「52」が出力されます。 --> <date_span field="date" predicate="_var_today">2019-01-01T00:00:00</date_span> </template> </category> |
value_format
value
属性、predicate
属性で指定した日時文字列のフォーマットを指定します。
また、日時書式はjava.time.format.DateTimeFormatter
に準拠した内容を指定してください。
Example
1 2 3 4 5 6 7 |
<category> <pattern>経過日数</pattern> <template> <!-- 「52」が出力されます。 --> <date_span field="date" value="2019/02/22" value_format="yyyy/MM/dd">2019-01-01T00:00:00</date_span> </template> </category> |
子要素
<template>
タグと同様です。