2017-07-07 74 views
4

我有一个字符串作为Mon 03-Jul-2017, 11:00 AM/PM,我必须将它转换为像11:00 AM/PM使用时刻js字符串。如何从日期时间字符串使用时刻js

这里的问题是我无法从日期时间字符串获取AMPM

我这样做:

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

+0

的[摘自时刻JS对象时(可能的复制https://stackoverflow.com/questions/27978819/extract-time -from-moment-js-object) – Alexander

+0

@Alexander关联的问题是关于格式化的,这里的问题是关于解析。 – VincenzoC

回答

13

解析您输入时,您使用了错误的格式标记。您应该使用ddd为星期几的名称的缩写,DD月,MMM日当月的名字,YYYY年度,hh1-12小时,mm对于分钟和AAM/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>

相关问题