我将TIMESTAMP
存储在数据库中,当我从数据库中取回时,我希望将其转换为AM和PM日期格式。
var dbDate = moment(milliseconds); // **i am getting an error over here**
var data = dbDate.format("hh:mm:A").split(":");
但我收到以下错误moment(milliseconds);
“弃用警告:时刻建设回落到日期。这个 气馁,将在即将发布的主要版本中删除。请 有关详细信息,请参阅https://github.com/moment/moment/issues/1407。
答案 0 :(得分:1)
默认情况下,时刻库仅支持构造函数中的有限数量的格式。如果您不使用其中一种格式,则默认使用new Date
,其中browsers are free to interpret the given date how they choose除非符合某些条件。
弃用警告是为了警告您这种行为 - 它不一定是错误。
在你的情况下,你有毫秒,所以你可以使用moment constructor that has a format parameter,告诉你特别是以毫秒为单位传递:
var dbDate = moment(milliseconds, 'x');
所有这些假设您当前将milliseconds
作为字符串返回到JavaScript层。如果您将其退回并将其视为数字,则您不应该看到该警告,因为时刻也有specific constructor that takes a single Number,如果您的milliseconds
参数是一个数字应该已经被使用
答案 1 :(得分:0)
我对moment.js并不熟悉,但是从文档中快速浏览一下,我认为构造函数不支持毫秒参数。试试这个:
var dbDate = moment({milliseconds: milliseconds});
上面的代码可能只是把它当作秒中小数点后的值 - 如果是这样的话,试试这个:
var dbDate = moment(new Date(milliseconds));