前提・実現したいこと
firebaseのタイムスタンプを使い、時間の保存し、その時間を表示したいです。
経緯
①databaseにタイムスタンプを使い時間を保存
javascript
1time: firebase.firestore.FieldValue.serverTimestamp()
②databaseに保存された値が下記の画像
③databaseに保存された値を表示
javascript
1console.log(doc.data().time);
問題点
時間の表示を
Tue Sep 03 2019 04:41:30 GMT+0900 (日本標準時)のような形ではなく、2019年9月03日04時41分30秒のようにしたいです。
数字を切り抜き、月や秒といった文字列と連結をすればそのような表示はできるのですが、問題は9月の表示だけ、Septemberの省略形で文字列になっているところです。
月の部分だけ文字列だと、それぞれの月を表す英語の省略形に対応するように、その部分を数字に書き換えなければならないので、処理に手間がかかり、ちょっと面倒です。
また、databaseに保存されたtimeと、コンソールに表示されたtimeの表示が若干違います。これは一体どうしてなのでしょうか?
### 試してみたこと考えてみたこと
そもそも自分はタイムスタンプについてあまりよく知らなかったので調べてみました。下記はwikiのスクショです。
databaseやコンソールに表示されていたのは、画像の左側UTCという方なんですね。
経過秒数の方の値を取得できれば、2019年9月03日04時41分30秒というような表記の処理が簡潔に書けるなと思いましたが、経過秒数の取得の仕方が分かりません。
console.log(doc.data().time);
と書くと、Tue Sep 03 2019 04:41:30 GMT+0900と出てきてしまうので
###質問まとめ
①UTCではなく純粋な経過秒数を取得するためにはどうすればよいのでしょうか?
②databaseとconsole.logで同じtimeなのにどうして表記が若干違うのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。