HTML+;JavaScript日期设置函数设置输入之外的不同日期

HTML+;JavaScript日期设置函数设置输入之外的不同日期,javascript,Javascript,考虑下面的HTML和JavaScript代码 <!DOCTYPE html> <html> <body> <script> var str = "20990229"; var showDate = new Date(); showDate.setFullYear(str.substring(0, 4)) showDate.setMonth(parseInt(str.substr

考虑下面的HTML和JavaScript代码

<!DOCTYPE html>
<html>
<body>
    <script>
        var str = "20990229";
        var showDate = new Date();
        showDate.setFullYear(str.substring(0, 4))
        showDate.setMonth(parseInt(str.substring(4, 6), 10) - 1)
        showDate.setDate(str.substring(6, 8))
        document.write(showDate)
    </script>
</body>
</html>

var str=“20990229”;
var showDate=新日期();
showDate.setFullYear(str.substring(0,4))
showDate.setMonth(parseInt(str.substring(4,6,10)-1)
showDate.setDate(str.substring(6,8))
document.write(showDate)
输出

星期五3月1日2099 16:02:52 GMT+0530(印度标准时间)

输出不正确,不知道哪里出错


有人能告诉我哪里出了问题吗?

输出完全符合要求:

var str = "20990229";
var showDate = new Date();

showDate.setFullYear(str.substring(0, 4)); // Set year to 2099
showDate.setMonth(parseInt(str.substring(4, 6), 10) - 1); // Set month to 1
showDate.setDate(str.substring(6, 8)); // Set date to 29
那将是2099年2月29日。(请注意,月份从0开始编制索引)

因为2099年不是闰年,所以没有2月29日,日期对应于3月1日


如果您将年份更改为闰年(例如2096),那么输出将与您预期的一样。这是。

你期望的结果是什么?2099年不会是闰年,所以2099年没有2月29日新的日期(2099年1月29日)是3月,因为2099年没有2月29日哦,糟糕,我忘了。。我随机给出了一个日期,期望得到的答案与它显示的不同。。