こんにちはすべてのjavascriptの達人、日時はjavascriptで、バグですか?
私はこのJavaScriptのコードに遭遇して、なぜそれが期待どおりに動作しなかったのか理解できなくなってしまいました。だから私はここにあなたの助けを求めて投稿すると思った。
基本的に、Dateはミリ秒の形式に変換され、ミリ秒の値はDateオブジェクトに変換されますが、比較すると同じではありませんか?
var currentTime = new Date();
var currentTimeInMill = Date.parse(currentTime);
var currentTime2 = new Date(currentTimeInMill);
// debug in firefox
console.log(currentTime);
// Date {Thu Jul 07 2011 09:56:19 GMT+1000 (AUS Eastern Standard Time)}
console.log(currentTime2);
// Date {Thu Jul 07 2011 09:56:19 GMT+1000 (AUS Eastern Standard Time)}
console.log(currentTime == currentTime2);
// false
その2つの値CURRENTTIMEとcurrentTime2もそれらの値と等しくない理由私の質問は、Firefoxのはconsole.logに同じ「見た目」ですか?
@colves、それはありません。オブジェクトの比較について自分の答えで言うことは正しいが、Date.parseを使用することの結果についてminitechが述べたことも正しいので、自分の答えも間違っている。 'getTime()'戻り値を比較すると、期待される結果が得られる確率は0.1%です( 'currentTime'が1000ミリ秒の倍数でインスタンス化されている場合のみ)。 – eyelidlessness
ええ、私はあなたを解体しようとしましたが、答えを修正しない限りできません:) - 編集して+1しました:) –