我有一个输入日期字符串,如“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)
当我传递这两个字符串时,我该怎么办?谢谢。还有什么事情以及为什么它没有失败,也会很有用:)
答案 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();
在这里,您可以将每个变量验证为日,月和年。