2012-10-23 43 views
0

我在哪裏出錯了這段代碼?簡單的JavaScript更正(日期/時間)

var now = Date.now(); 
var HoursLater = now.addHours(6); 
Date.prototype.addHours= function(h){ 
    this.setHours(this.getHours()+h); 
    return this; 
} 

document.write(HoursLater); 

+0

雖然我與長庚富同意我做你的代碼小提琴看到它在這裏 - 注意,因爲它現在站在你也將被更新爲原型的是「這個」操作「現在」變種太http://jsfiddle.net/gXr9R/ – bUKaneer

回答

3

無需推倒重來!

有很好的圖書館可以爲你節省很多時間。

date.js。它已經有addHours()!

.addHours (Number hours) : Date 

Adds the specified number of hours to this instance given the number of hours to add. The number can be positive or negative. 
// Solution to your problem with date.js ;) 
Date.today().addHours(6); 

// What date is next thursday? 
Date.today().next().thursday(); 

// Add 3 days to Today 
Date.today().add(3).days(); 
+0

有什麼辦法可以用Jsfiddle來測試嗎? –

+0

當然..只需將其添加爲資源。 –

+0

現在......我將如何只寫出小時/分鐘的格式:hh:mm?使用(Date.today()。addHours)當然不會這樣做Tue Oct 23 2012 06:00:00 GMT-0400(Eastern Daylight Time)=( –

2

你的原型方法addHours被定義的日期()對象上,而不是在Date.now()。

只需修改您的第一線,var Now = new Date();

也動原型方法定義爲addHours頂部(由於前2個語句執行的順序)。

http://jsfiddle.net/ATUpF/