我试图创建一个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)}`
});
}
如何编辑代码才能获得
Received at:2018-03-14 09:48
有人可以帮助我吗?
答案 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()方法获取该数字