将时间和数据存储在firebase数据库中

时间:2018-03-14 08:02:21

标签: javascript firebase firebase-realtime-database

我试图创建一个JavaScript函数,每次调用时都会在firebase数据库中存储一些信息。我想要存储的一个信息是调用该函数的当前日期和时间。我自己创造了一些东西,但日期和时间的形成并不是我想要的。我的函数源代码如下:

function AddtoDatabase(id,title,description){
    var rootRef = firebase.database().ref().child(`notifications/${id}`);
    var tzoffset = (new Date()).getTimezoneOffset() * 60000; //offset in milliseconds              

    rootRef.push({
        title:`${title}`,
        description:`${description}`,
        //time:`${new Date().toISOString().split('T')[0]}`
        time:`${(new Date(Date.now() - tzoffset)).toISOString().slice(0, -1)}`
    });
}

使用上面的源代码,我从日期和时间得到以下结果:enter image description here

如何编辑代码才能获得

Received at:2018-03-14 09:48

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

我认为您可以使用Date()对象的本地方法(例如getFullYear()getFullMonth()等来实现此目的。

这是代码。

const date = new Date();
const year = date.getFullYear();
const month = date.getFullMonth() + 1 // months start from 0
const day = date.getDay()
const hour = date.getHours();
const minutes = date.getMinutes();

const time = `Received at ${year}-${month}-${day} ${hour}:${minutes}`;

答案 1 :(得分:0)

您应该使用时刻库​​进行格式化:https://momentjs.com/

请特别注意文档的这一部分:https://momentjs.com/docs/#/displaying/

所以在你的情况下你会这样做:

moment().format("YYYY-MM-DD hh:mm");  

此外,最佳做法是在数据库中存储自1970/01/01以来的毫秒数,您可以通过JavaScript getTime()方法获取该数字