考虑下面的HTML& amp;的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>
输出:
Fri Mar 01 2099 16:02:52 GMT + 0530(印度标准时间)
输出不正确,我出错的地方不知道。
有谁能告诉我哪里出错了?
答案 0 :(得分:2)
输出完全符合预期:
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年),则输出将如您所愿。这是an example。