2017-05-08 7 views
1

私はなぜこれらの2つのDateオブジェクトがコンソールで異なる出力を持っているのだろうと思っています。私の意見では、それは同じでなければなりませんが、私は間違っている可能性があります:)これらのDateオブジェクトはなぜ異なるのですか?

var twoLinesSetup = new Date(); 
 
twoLinesSetup.setHours(0, 0, 0); 
 
var inlineSetup = new Date().setHours(0, 0, 0) 
 

 
console.log('twoLinesSetup', twoLinesSetup); 
 
console.log('inlineSetup', inlineSetup);

とコンソール

twoLinesSetup:月2017年5月8日00:00:00 GMT + 0200

inlineSetup:1494194400521

なぜそうですか?

+5

'setHours()'はミリ秒を数値として返しますが、 'Date'インスタンスではありません。 – Bergi

答えて

2

を返すsetHours方法からの戻り値が含まれています。 "A Number, representing the number of millisecondsと日付オブジェクトと1970年1月1日午前0時との間です"

twoLinesSetupは実際に操作するオブジェクトです。コンソールの出力 - それを必要とするなら "toString"メソッドは、あなたが見るフォーマットされた文字列表現です。

理論的には、twoLinesSetup.getTime()を実行して同じ数字を表示する必要があります。

0

setHours()コールの戻り値をinlineSetupに割り当てるとします。これはDateオブジェクトではなく、日付のミリ秒を表す数値です。

関連する問題