調べてみるとNMCBのデータ作成時のcreateDateは「ISO 8601形式」と言われるものみたいです。ごめんなさい、この辺は全くわかりません。
しかし、やりたいことははっきりしています。個人的に「ISO 8601形式」のままブラウザに表示すると明確時間がわかりにくいです。よって、
- 「2000年1月1日、1時1分1秒」または
- 「2000/01/01 01:01:01」の形式にしたいです。
まずこちらを参考にさせていただきました。
JavaScriptでISO8601形式の日付を扱う – キリウ君が読まないノート
https://note.kiriukun.com/entry/20191124-iso-8601-in-javascript#ISO8601ToDate
NCMBの開発ドキュメント(https://mbaas.nifcloud.com/doc/current/)を見て、「results[i][“createDate”]」で日時を取得します。
let ts = Date.parse(array[i]["createDate"]);
//引用
//Date.parse() - JavaScript | MDN
//https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
/*
「Date.parse() メソッドは、日時を表す文字列を解釈し、協定世界時 (UTC) 1970 年 1 月 1 日 00:00:00 からの経過時間を表すミリ秒単位の数値を返します。」
*/
ちょっと何言っているかわかりません!(サンドウィッチマン風)
しかし、「ts」のままではまだまだわかりにくいです。調べます。
次にこちらを参考にさせていただきました。
フリーな人生:ISO8601形式の日付をJavascriptで日本時間に変換
http://blog.livedoor.jp/koreedablog/archives/1930758.html
「ISO8601とは日付と時刻の表記に関する国際規格で、「2014-10-08T12:00:00.000Z」のような形式になっています。」
同じ状態です。よって、こちらのメソッドを利用すれば再変換できるようです。
//上記の「let ts」でDateを再作成し「.toLocaleString()」を使います。
let dt = new Date(ts).toLocaleString();
// 結果 2000/01/01 01:01:01
これで見やすくなりました。
何やっているか全然わかりません。開発が落ち着いたらDateを学びなおしたいです。