将毫秒转换为AM和PM日期格式

时间:2015-11-23 11:30:53

标签: javascript momentjs

我将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

2 个答案:

答案 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));