2015-02-05 50 views
0

嘿,我有以下問題。我相信你可以幫助我:在onclick使用的函數中更改日期,javascript

我有一個按鈕,可以改變小時+1小時或-1小時。但日期從同一天的00UTC跳到23 UTC,而不是前一天。

注:addZero完成串1 「01」(這是因爲圖像字符串需要01 02 03)

function switch_image(i) { 
    if (i == 0) { 
    d.setUTCHours(d.getUTCHours() - 1); 

    if (d.getUTCHours() == 23) { 
     d.setUTCDate(d.getUTCDate() - 1); 
    } 
    h = addZero(d.getUTCHours()); 

    } else { 
    d.setUTCHours(d.getUTCHours() + 1); 

    if (d.getUTCHours() == 0) { 
     d.setUTCDate(d.getUTCDate() + 1); 
    } 
    h = addZero(d.getUTCHours()); 
    } 
} 

非常感謝你的幫助;)

+0

可能重複(http://stackoverflow.com/questions/1050720/adding -hours到JavaScript的日期對象) – Ding 2015-02-05 16:44:28

回答

0

我找到了自己解決。我忘了將變量設置爲天(對於hpurs而言,它的h)是新的。最好的祝福 。

0

請參閱以下函數,該函數使用Date.UTC(1970,0,1)作爲起始值(1970年1月1日爲the Unix epoch)向另一日期添加常數值。請注意,月份和年份不包括在內,因爲它們不是固定的時間(閏年和月份不會跨越相同的天數)。

Date.prototype.addTime = function(days,hours,minutes,seconds,milliseconds){ 
 
    for(var i=0;i<arguments.length;i++){ 
 
    arguments[i]=parseInt(arguments[i]); 
 
    } 
 
    return new Date(this.getTime() + 
 
     Date.UTC(1970, 0, 
 
      (isNaN(days) ? 0 : days) + 1, 
 
      isNaN(hours) ? 0 : hours, 
 
      isNaN(minutes) ? 0 : minutes, 
 
      isNaN(seconds) ? 0 : seconds, 
 
      isNaN(milliseconds) ? 0 : milliseconds)); 
 
} 
 
document.body.innerHTML = new Date(Date.now()).addTime(1,1).toString(); //Adds 1 day,1 hour


參考:[?添加小時,以JavaScript日期對象來]的MDN