服务器端toLocaleString的日期格式错误



在服务器端使用此功能(Firebase函数,nodejs(

var d=new Date();
var date = d.toLocaleString('default', { month: 'long'}) + ", " + d.getFullYear();

我希望得到March, 2020,因为这是我在JS客户端上得到的,,但当在服务器端运行时,我得到-M03,2020

我尝试了以下代码:

const date = require('date-and-time');
var d = new Date();
var myDate = d.toLocaleString('default', { month: 'long'}) + ", " + d.getFullYear();
console.log(myDate);

输出:

March, 2020

现在,如果您试图将JavascriptDate对象存储到Firebase中,则此对象将存储为Timestamp对象。我想这可以解释你为什么注意到格式上的一些差异。

也可以将Date对象转换为String,并将其存储在Firebase中。这比ISO 8601和时间戳0001-01-01T00:00:00Z 更易于阅读

您可以在以下关于时间戳和数据类型的文档中了解更多信息。此外,还有一个Timestamp内置方法toDate(),如果需要转换,它会返回与某个时间戳对应的新Date。

最新更新