LoginSignup
1
0

More than 1 year has passed since last update.

JSONata で ISO 8601 に従ってタイムゾーンを指定しつつ小数秒まで時間を表示したい

Last updated at Posted at 2021-04-19

概要

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')

終わり

タイムゾーンだけ指定する方法ってないんでしょうか

参考

環境

一応メモ

  • Node-RED v1.3.2
  • Node.js v14.16.0
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0