我试图将日期解析为用户使用IBM的BPM Coach框架输入的字符串(输入在dd / MM / YYYY中)。我需要将Date解析为String并将其传递给外部服务。我通过使用以下代码片段得到了预期的结果,但在少数情况下。
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
if(dd<10){
dd='0'+dd;
}
if(mm<10){
mm='0'+mm;
}
var today = dd+'/'+mm+'/'+yyyy;
console.log(today)
&#13;
在测试时,我提供了输入上的值01/01/1991,javascript解析器失败,捕获的输入类似于32/12/1990。
我不知道如何迎合这一点。 任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
如何在这种情况下调用getDate(),以便返回32/12/1990
function getDate( inDate ) {
var dd = inDate.getDate();
var mm = inDate.getMonth()+1;
var yyyy = inDate.getFullYear();
if(dd<10) dd= '0'+dd;
if(mm<10) mm= '0'+mm;
return dd+'/'+mm+'/'+yyyy;
}
console.log( getDate( new Date()) );
&#13;
答案 1 :(得分:0)
可能归结为您正在使用的浏览器。 Chrome解析(大多数说服力正确)的日期与Firefox和Safari不同,更常见的是"Yeah, unfortunately the date-parsing algorithms are implementation-dependent"。
那该怎么办?您可以尝试使用jQuery UI's日期选择器并传递您需要的格式,这样您就可以避免重新格式化并确保它跨浏览器工作。