我已经实现了一个简单的javascript代码,它在我的页面上显示日期。问题是,它设定在1个月前。今天(25/12)它显示25/11。你能帮我找到问题吗,因为我对JS仍有非常基本的了解,并按照教程创建了这个脚本。谢谢。
<script>
function renderDate() {
var today = new Date();
var d = today.getDate();
var m = today.getMonth();
var y = today.getFullYear();
d = checkTime(d);
m = checkTime(m);
document.getElementById('dateid').innerHTML = d + "/" + m + "<br> <b>" + y + "</b>";
t = setTimeout (function() {renderTime()}, 500);
}
function checkTime(i) {
if (i<10)
{
i = "0" + i;
}
return i;
}
</script>
答案 0 :(得分:1)
月份在Javascript中从零开始,因此1月份为0,2月份为1,依此类推,直到12月份为11级。只需向today.getMonth()
添加1,您就可以了。您的新代码将是
<script>
function renderDate() {
var today = new Date();
var d = today.getDate();
var m = today.getMonth()+1; //Month Increment
var y = today.getFullYear();
d = checkTime(d);
m = checkTime(m);
document.getElementById('dateid').innerHTML = d + "/" + m + "<br> <b>" + y + "</b>";
t = setTimeout (function() {renderTime()}, 500);
}
function checkTime(i) {
if (i<10)
{
i = "0" + i;
}
return i;
}
</script>
答案 1 :(得分:0)
月份从零开始
替换
var m = today.getMonth()
带
var m = today.getMonth()+1
答案 2 :(得分:0)
很容易理解你,我想:) 这是因为Date.prototype.getMonth()返回0-11,表示月份1 - 12
检查docs