概要
JSONata で、
- ヒトと機械の多くがサポートしている ISO 8601 に沿って時間を表示する (Date/Time functions のデフォルト)
- タイムゾーンを指定する
細かい書き方は こちらの記事 が勉強になりました。
日時関数 (Date/Time functions) のフォーマット指定方法
JSONata 公式ドキュメント によると、XPath と同じように指定するらしいです。 picture
って呼ぶんですね。
指定子(specifier)
今回の表示に必要なもの。9.8.4.1 The picture string の表より抜粋。
指定子 | 意味 |
---|---|
Y | 西暦 |
M | 月 |
D | 日 |
H | 時 |
m | 分 |
s | 秒 |
f | 小数秒 |
Z | タイムゾーン |
修飾子(modifier)
修飾子は固定長(0埋め)に使うだけです。
ミリ秒を表示したいなら [f001]
、マイクロ秒なら [f000001]
、という感じ。
JSONata で表示
unixtime をもとに表示
$fromMillis(1510067557121, '[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[f001][Z]', '+0900')
=> 2017-11-08T00:12:37.121+09:00
現在時刻の場合
$now('[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[f001][Z]', '+0900')
終わり
タイムゾーンだけ指定する方法ってないんでしょうか
参考
- https://qiita.com/tseigo/items/e7deb8d6d4902a4aef30
- https://docs.jsonata.org/date-time-functions
- https://www.w3.org/TR/xpath-functions-31/#date-picture-string
環境
一応メモ
- Node-RED v1.3.2
- Node.js v14.16.0