Javascript 如何使用矩js从日期时间字符串获取am pm

Javascript 如何使用矩js从日期时间字符串获取am pm,javascript,momentjs,Javascript,Momentjs,我有一个字符串为2017年7月3日星期一上午11:00/下午11:00,我必须使用矩js将其转换为类似于上午11:00/下午11:00的字符串 这里的问题是我无法从日期时间字符串中获取am或PM 我正在这样做: moment(Mon 03-Jul-2017, 11:00 AM, 'dd-mm-yyyy hh:mm').format('hh:mm A') 当我得到11:00am时,它工作正常,但是如果字符串中有PM,它仍然在输出中给出am 像这样的时刻(2017年7月3日星期一,晚上11:00,

我有一个字符串为2017年7月3日星期一上午11:00/下午11:00,我必须使用矩js将其转换为类似于上午11:00/下午11:00的字符串

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

我正在这样做:

moment(Mon 03-Jul-2017, 11:00 AM, 'dd-mm-yyyy hh:mm').format('hh:mm A')
当我得到
11:00am
时,它工作正常,但是如果字符串中有
PM
,它仍然在输出中给出
am


像这样的
时刻(2017年7月3日星期一,晚上11:00,'dd-mm-yyyy hh:mm')。format('hh:mm A')
也在输出中给出
11:00 AM
,而不是
11:00 PM

解析输入时使用了错误的格式标记。您应该使用
ddd
作为星期天名称的缩写,
DD
作为月日名称的缩写,
MMM
作为月份名称的缩写,
YYYY
作为年份,
hh
作为
1-12
小时,
mm
作为分钟,
A
作为
AM/PM。见文件

以下是一个现场工作示例:

console.log(瞬间('2017年7月3日星期一上午11:00','ddd-DD-MMM-YYYY,hh:mm A')。格式('hh:mm A');
console.log(瞬间('Mon-03-Jul-2017,11:00 PM','ddd-DD-MMM-YYYY,hh:mm A')。格式('hh:mm A')

您将在不指定日期格式的情况下获得时间。使用
date
对象将字符串转换为日期

var myDate = new Date('Mon 03-Jul-2017, 06:00 PM');
工作解决方案:

var myDate=新日期(“2017年7月3日星期一,下午6:00”);
console.log(矩(myDate.format('HH:mm'));//24小时制
log(moment(myDate).format('hh:mm');
log(moment(myDate).format('hh:mma')

可能重复@Alexander链接的问题是关于格式,这里的问题是关于解析。