Javascript日期转换不会失败

时间:2017-06-02 10:58:19

标签: javascript datetime

我有一个输入日期字符串,如“30/09/1992”,我发现这段代码符合我的需要。 PFB代码。

var input1 = "30/09/1992";
var isVaidDate = false;
var actualDate = "";
try{
var pattern = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
var arrayDate = input1.match(pattern);
var actualDate = new Date(arrayDate[3], arrayDate[2] - 1, arrayDate[1]);
var isVaidDate = typeof dt.getMonth === 'function';
}catch(e){var output1 = false;}
print(isVaidDate);
print(actualDate);

上面的代码工作正常,但当我将输入设置为“31/09/1992”或“40/09/1992”时,我预计会有无效的日期,但我得到以下输出。

代表“31/09/1992”:

true
Thu Oct 01 1992 00:00:00 GMT+0530 (India Standard Time)

代表“40/09/1992”:

true
Thu Oct 10 1992 00:00:00 GMT+0530 (India Standard Time)

当我传递这两个字符串时,我该怎么办?谢谢。还有什么事情以及为什么它没有失败,也会很有用:)

1 个答案:

答案 0 :(得分:1)

这个例子可以帮助你:

var dateString = 'Mon Jun 24 2013 05:30:00 GMT+0530 (India Standard Time)';
var myDate = new Date(dateString);
var final_date = myDate.getDate()+"-"+(myDate.getMonth()+1)+"-"+myDate.getFullYear();

在这里,您可以将每个变量验证为日,月和年。