2011-08-19 115 views
1

我確信這已被打死,但我找不到它。我想在javascript中創建一個簡單的UtcDate對象。其實我有一個工程......在javascript中創建一個UtcDate對象

(function() { 
    UtcDate = (function() { 
     var date; 
     if (arguments.length > 0) { 
      date = new Date(arguments[0], arguments[1], arguments[2]); 
     } 
     else if (arguments.length == 0) { 
      date = new Date(); 
     } 
     return new Date(date.toUTCString()); 
    }); 
})(); 

我想使它多一點智慧,雖然。有沒有辦法做到這一點,而不需要明確的參數索引器?基本思想是你可以像傳統日期一樣傳入參數,如果不是,它只是創建當前日期。

回答

1

它可以像那樣優化。如果arguments.length爲0,則表示它爲假。

關於參數索引器 - 是的,它們可以更改爲參數(使用默認值)。如果沒有,或通過一些參數,缺少的將被替換爲默認值。如果沒有通過的日期將被設置爲4月12日2000年


UtcDate = (function (year,month,day) { 
    var date; 
    if (! arguments . length) { 
     date = new Date() ; 
    } else { 
     date = new Date(year||2000,month||3,day||12); 
    } 
    return new Date(date. toUTCString()); 
}); 

我真的不知道爲什麼你需要的toUTCString()。 FireFox,Chrome,Opera以UTC格式返回日期。

+0

你知道IE是否也有嗎? – Ciel

+1

我真的不喜歡IE,但在8 - 是的。我在Linux上沒有9個) – Bakudan