只想将Date作为时间戳保存在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);
}
答案 0 :(得分:0)
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来获取一个月的原因。
答案 1 :(得分:0)
我在Firebase中使用时间戳记,并且我知道它用于将日期存储在数字中的long
中。所以我不知道Firestore中是否一样。