2011-08-19 85 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