Javascript getUTCDate()和getUTCHour(),“01”不是“1”

时间:2015-01-28 17:06:02

标签: javascript

我已经找到了一个很好的解决方案来解决本网站上的指定问题。但它在我的脚本中不起作用。

我希望有人可以提供帮助。 (注意:函数hour()day()month()随onclick更改(仍然可以正常工作)

<script>    
 var d = new Date();
function hour(i) {
 d.setUTCHours(i);
 var h = addZero(d.getUTCHours());
}
function day(i) {
 d.setUTCDate(i);
 var d = addZero(d.getUTCDate());
}
function month(i) {
 d.setUTCMonth(i);
 var m = addZero(d.getUTCMonth());
}

function addZero(i) {
 if (i < 10) {
     i = "0" + i;
}
return i;
}

function img() {
 var dateString = d.getUTCFullYear() +""+ m +""+ d + "_" + h ;
 document.getElementById("demo").innerHTML = dateString; 
}

</script>

1 个答案:

答案 0 :(得分:0)

您的变量是他们定义的函数范围的本地变量。您需要将var语句移到外面。

<script>    
 var d = new Date();
 var h, m, day;
function hour(i) {
 d.setUTCHours(i);
 h = addZero(d.getUTCHours());
}
function day(i) {
 d.setUTCDate(i);
 day = addZero(d.getUTCDate()); // changed the name here to avoid conflicting
}
function month(i) {
 d.setUTCMonth(i);
 m = addZero(d.getUTCMonth());
}

function addZero(i) {
 if (i < 10) {
     i = "0" + i;
}
return i;
}

function img() {
 var dateString = d.getUTCFullYear() +""+ m +""+ day + "_" + h ;
 document.getElementById("demo").innerHTML = dateString; 
}

</script>