MomentJS显示当前时间而非API存储时间问题求助
解决MomentJS解析自定义日期格式时显示当前时间的问题
嘿,我明白你碰到的问题了!MomentJS默认没办法正确解析你API返回的"26/11/2017 06:00:00"这种DD/MM/YYYY HH:mm:ss格式的日期字符串,当解析失败的时候,它会自动返回当前时间,这就是你看到的不是API存储时间的原因。
快速解决方案:指定解析格式
你只需要在调用moment()的时候,加上第二个参数明确告诉它你的日期格式就行,代码修改如下:
// 明确指定API返回的日期格式为DD/MM/YYYY HH:mm:ss var startTime = moment(item.eventStartUTC, "DD/MM/YYYY HH:mm:ss").format("HH:mm - "); var endTime = moment(item.eventEndUTC, "DD/MM/YYYY HH:mm:ss").format("HH:mm"); var finalTime = startTime.concat(endTime);
这样修改后,Moment就能准确识别API返回的日期时间,解析出正确的06:00和15:00,最终finalTime会得到你预期的06:00 - 15:00。
额外建议(可选)
如果你的API可以调整的话,建议返回ISO标准格式的日期字符串(比如"2017-11-26T06:00:00Z"),这种格式Moment可以直接正确解析,不需要额外指定格式,兼容性会更好。
内容的提问来源于stack exchange,提问作者ninja
相关产品推荐
相关产品推荐

