Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Momentjs:解析像';年/月/日hmA和#x27;不';行不通_Javascript_Date_Momentjs - Fatal编程技术网

Javascript Momentjs:解析像';年/月/日hmA和#x27;不';行不通

Javascript Momentjs:解析像';年/月/日hmA和#x27;不';行不通,javascript,date,momentjs,Javascript,Date,Momentjs,我有一个日期字符串,并尝试使用moment.js解析它: var d = '06/09/2015 200AM'; var date = moment(d, 'MM/DD/YYYY hmmA'); 但是,解析后的时间似乎不合适: console.error(date.hours); //output: 20 我做错什么了吗 我想如果用“:”分隔小时和分钟可以解决这个问题,但是时间是从a的值中得到的,我不想在其中加“:” 感谢您的帮助。这是一种非常奇怪的字符串格式,通常情况下,人们会希望该小时值

我有一个日期字符串,并尝试使用moment.js解析它:

var d = '06/09/2015 200AM';
var date = moment(d, 'MM/DD/YYYY hmmA');
但是,解析后的时间似乎不合适:

console.error(date.hours); //output: 20
我做错什么了吗

我想如果用“:”分隔小时和分钟可以解决这个问题,但是时间是从a的值中得到的,我不想在其中加“:”


感谢您的帮助。

这是一种非常奇怪的字符串格式,通常情况下,人们会希望该小时值有一个可靠的两位数。我想你必须对它进行预处理

var d = /*...get the string from wherever...*/;
var r = /^(\d{2}\/\d{2}\/\d{4}) (\d{3}..)$/
var m = r.exec(d);
if (m) {
    d = m[1] + " 0" + m[2];
}
var date = moment(d, 'MM/DD/YYYY hmmA');

这是因为
'06/09/2015 200AM'
是无效日期,因此无法工作。下面是一个无效datetime旁边的无效datetime的小提琴示例。只要摆弄这把小提琴就行了

如果不想用冒号和空格来确定日期。我已经更新了fiddle,使用javascript为您注入“:”和空间:


这对我来说似乎是个问题。报告于。