1. ホーム
  2. ジャバスクリプト

[解決済み] NodeJSを使用して、UTCの日付を`YYYY-MM-DD hh:mm:ss`文字列にフォーマットするにはどうすればよいですか?

2022-03-28 22:19:23

質問

NodeJS を使って Date を以下のような文字列形式に変換します。

var ts_hms = new Date(UTC);
ts_hms.format("%Y-%m-%d %H:%M:%S");

どうすればいいんだ?

どのように解決するのですか?

Node.jsを使っているならば、EcmaScript 5があるはずなので、Dateには toISOString メソッドを使用します。ISO8601を少し修正しろということですね。

new Date().toISOString()
> '2012-11-04T14:51:06.157Z'

だから、いくつか切り取るだけで、準備は完了です。

new Date().toISOString().
  replace(/T/, ' ').      // replace T with a space
  replace(/\..+/, '')     // delete the dot and everything after
> '2012-11-04 14:55:45'

あるいは、1行で。 new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '')

ISO8601は必然的にUTCになります(最初の結果の末尾にZがあることからもわかります)ので、デフォルトでUTCになります(常に良いことです)。