我已将ISO日期字符串转换为momentjs时刻,然后使用.format("MM/DD/YYYY HH:MM")
格式化该时刻。
当我输出最后格式化的时刻时,分钟值与最初从iso字符串读回的值不一致。
在这种情况下,ISO字符串值保持在3:10 PM或“2016-08-03T03:10:00.000Z”,如字符串中所示。 But when I call format the moment value is 4:07PM meaning three minutes have been subtracted during the format.
在调试期间,我在每个分配阶段都注意到以下值:
第1步(将db值转换为ISO字符串):
var actualBCR_Local = moment.utc('@Model.Escalation.Actual_BCR_ISO').toISOString();
value: "2016-08-03T03:10:00.000Z"
第2步(将ISO字符串转换为momentjs时刻以表示当地时间GMT + 1):
var actualBCR_Local_Moment = moment(actualBCR_Local);
value: Wed Aug 03 2016 04:10:00 GMT+0100 (GMT Daylight Time)
第3步(以12HR格式格式化演示文稿,问题在这里,因为我原来的价值应该是04:10 ,我输了3分钟):
var actualBCR_Local_Formatted = actualBCR_Local_Moment.format("MM/DD/YYYY HH:MM");
value: "08/03/2016 04:08"
在以12HR格式格式化片刻时,如何防止精确度损失?
答案 0 :(得分:2)
因为你使用了错误的格式
在此section中,您会发现您使用的是HH:MM
,这意味着hour:month
如果您使用HH:mm
,那么您将获得正确的时间。
这就是为什么你有2分钟的损失,因为它显示08为"月"
这是我测试的内容