2016-12-14 9 views
0

なぜコードの最初の行は "Date"型のオブジェクトを返しますが、2番目のコードは "number"を返しますか?なぜ新しいDate()。setHours(18)は日付の代わりに数値を返しますか?

doc(http://www.w3schools.com/jsref/jsref_sethours.asp)によると、setHours()は日付オブジェクトの時の値を変換するだけで、変換する必要はありません。

コード:

var date = new Date(); 

    var date2 =date.setHours(19); 

ありがとう!

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHoursドキュメントをチェックしてください。指定された日付の時間を設定し、タイムスタンプを返します。 – CollinD

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours – Deep

+0

'date'オブジェクトの実際の値を見てください...設定されていることがわかりますあなたが指定した通りです。 –

答えて

2

setHours()メソッドは、指定された日付の時間を現地時間に基づいて設定し、1970年1月1日00:00:00 UTCから更新されたDateインスタンスによって表される時刻までのミリ秒数を返します。ドキュメントによると

0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours

http://www.w3schools.com/jsref/jsref_sethours.asp)setHours()は、ちょうどDateオブジェクトの時の値を変更する必要があり、それを変換しません。

そのドキュメントは言う:

戻り値:日付オブジェクト間のミリ秒数を表す数値、深夜1970年1月1日

それは変換しませんが日付オブジェクト。既存のものを変更してから値を返します。

変更された時値を持つ、以前に作成した日付オブジェクトと、その変数への参照(変数dateのままであるようなもの)は引き続き使用できます。

+0

この回答は[* ECMA-262 *](http://ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.sethours)または[* MDN *](https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours)。 – RobG

+0

@RobG - W3Schoolsにはたくさんの問題がありますが、ここで正しいのですが、OPがすでに読んでいたドキュメントです。 – Quentin

0

これはかなり簡単です。ちょうどそれについてdocumentationを読んでください。

このメソッドから返される内容は以下を参照してください。

戻り値

1970年1月1日午前0時00分00秒UTCと 更新日付の間のミリ秒数。

関連する問題