質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

1回答

3470閲覧

firebaseから日にちを取得したい

krom014

総合スコア0

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

1クリップ

投稿2020/08/17 12:56

前提・実現したいこと

<できていること>
vueで作ったアンケート送信の際に同時にタイムスタンプ型で日にちデータをfirebase/firestoreへ登録した。
データをvuetifyのデータテーブルに表示してみると、文字列や数値データはうまく表示できているのに、日にちデータはtimestamp(seconds=****)~~~となってしまう。
取得時にDate()をつけてみたら日にちデータはうまく表示できたけれど、文字列データの方がおかしくなってしまった。

<実現したいこと>
文字列や数値データはそのままに、タイムスタンプだけを日にちの形にしたい

発生している問題・エラーメッセージ

timestamp型のデータを文字列にもdate型にも変換する方法がわからない

該当のソースコード

output

1methods: { 2 register () { 3 const now = new Date() 4 5 db.collection('form1').add({ 6 user: this.select, 7 anke_1: this.anke1, 8 anke_2: this.anke2, 9 anke_3: this.anke3, 10 anke_4: this.anke4, 11 anke_5: this.anke5, 12 createdAt: now 13 })

input

1 <v-data-table 2 :headers="headers" 3 :items="items" 4 :items-per-page="10"> 5 class="elevation-1" 6 ></v-data-table> 7{中略} 8 created () { 9 firebase.firestore().collection('form1') 10 .get() 11 .then(snapshot => { 12 snapshot.forEach(doc => { 13 this.items.push(doc.data()) 14 }) 15 }) 16 },

試したこと

qiita等で一通り調べてみました。date()などを使うと良いということはわかったのですが、どこに書けば良いのかわかっていない

補足情報(FW/ツールのバージョンなど)

vueを使用
nodeのバージョン 12.13.0
データベースはfirebaseのfirestoreを使用、コレクション名はform1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

timestamp(seconds=****)~~~となるのはTimestamp型で表示されているからだと思います。

FirestoreにDate型を保存するとTimestamp型に変換されます。
なのでtoDate()を使ってTimestamp型→Date型に戻してあげる必要があります。
https://firebase.google.com/docs/reference/js/firebase.firestore.Timestamp#todate

// Timestamp型のtsをDate型に変換 const date = ts.toDate()

投稿2020/08/18 00:39

watatakahashi

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問