我有一个字符串作为Mon 03-Jul-2017, 11:00 AM/PM
,我必须使用moment js将此字符串转换为11:00 AM/PM
这样的字符串。
这里的问题是我无法从日期时间字符串中获取AM
或PM
。
我正在这样做:
moment(Mon 03-Jul-2017, 11:00 AM, 'dd-mm-yyyy hh:mm').format('hh:mm A')
当我得到
11:00 AM
时,它工作正常,但如果字符串中包含PM
,它仍会在输出中提供AM
。像这样
moment(Mon 03-Jul-2017, 11:00 PM, 'dd-mm-yyyy hh:mm').format('hh:mm A')
也在输出中提供11:00 AM
而不是11:00 PM
最佳答案
解析输入时,您使用了错误的格式 token 。您应该使用ddd
表示星期几的名称,DD
表示月份的天,MMM
表示月份的名称,YYYY
表示年,hh
表示1-12
小时,mm
表示分钟,A
表示AM/PM
。 。请参阅 moment(String, String)
文档。
这是一个工作示例:
console.log( moment('Mon 03-Jul-2017, 11:00 AM', 'ddd DD-MMM-YYYY, hh:mm A').format('hh:mm A') );
console.log( moment('Mon 03-Jul-2017, 11:00 PM', 'ddd DD-MMM-YYYY, hh:mm A').format('hh:mm A') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>