1
次のコードの最後のログはFirefoxでは動作しません。どうして?文字列の文脈で新しい日付がFirefoxで動作しない
(function() {
String.prototype.toDate = function() {
return new Date(this);
};
console.log(Date.parse("2012-01-31"));
console.log(new Date("2012-01-31"));
console.log("2012-01-31".toDate());
})();
これをブラウザでテストするには、上記のスニペットをファイルに入れ、次のHTMLを使用します。
<!DOCTYPE html>
<body>
<script src="wtf.js"></script>
</body>
NodeJS(v0.4.12):
1327932000000
Mon, 30 Jan 2012 14:00:00 GMT
Mon, 30 Jan 2012 14:00:00 GMT
クローム(17.0.963.79):
1327968000000
Tue Jan 31 2012 10:00:00 GMT+1000 (EST)
Tue Jan 31 2012 10:00:00 GMT+1000 (EST)
のFirefox(10.0):Firefoxの中
1327968000000
Date {Tue Jan 31 2012 10:00:00 GMT+1000 (EST)}
Date {Invalid Date}
興味深い。 'new String(this)'は動作しませんが、 'String(this)'と 'this.toString()'は動作します。 – dteoh
'( '2012-01-31')toDate()'も使用できるはずですが、今はテストできません。 – RobG