Как сохранить данные как объект временной метки Firestore в Angular - PullRequest
0 голосов
/ 19 ноября 2018

Просто хочу сохранить дату как метку времени в базе данных Firestore, но она хранит метку времени как число:

save() {
    const data = this.transactionForm.value;
    data.type = data.type == 'true' || data.type == true ? true : false;
    data.updated = firebase.firestore.FieldValue.serverTimestamp();
    // Date string to timestamp
    data.date =  new Date(data.date.split("-").reverse().join("-")).getTime();
    let id = data.id;
    this.transCollection.doc(id).update(data);
}  

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Я использую метку времени в Firebase и знаю, что она используется для сохранения даты в long, которая является числом. Так что я не знаю, то же самое в Firestore.

0 голосов
/ 19 ноября 2018
  unixToTimestamp() {
    const date = new Date();
    const hours = date.getHours();
    const minutes = date.getMinutes();
    const seconds =  date.getSeconds();
    const day = date.getDate();
    const month = date.getMonth() + 1;
    const year = date.getFullYear();

    console.log(hours + ':' + minutes + ':' + seconds);
    console.log(day + '/' + month + '/' + year);
  }

Я попробовал это в машинописи и получил следующий вывод:

11:25:07
19/11/2018

Таким образом, вы можете выбрать, как вы хотите создать свою метку времени и сохранить ее в firestore

Вы также можете распечатать месяц так, как хотите.

const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

const month = months[date.getMonth()];

Это потому, что date.getMonth () получает индекс, поэтому я использую +1, чтобы получить месяц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...