为什么 new Date().setHours(18) 返回数字而不是日期?

Kro*_*war 6 javascript date typescript ionic2

为什么第一行代码返回“Date”类型的对象,而第二行返回“number”类型的对象?

根据文档(http://www.w3schools.com/jsref/jsref_sethours.asp),setHours() 应该只更改日期对象的小时值,而不是转换它。

代码 :

  var date = new Date();

  var date2 =date.setHours(19);
Run Code Online (Sandbox Code Playgroud)

谢谢 !

小智 8

您需要将答案包含在 中new Date()。像这样:

var date2 = new Date(date.setHours(19));
Run Code Online (Sandbox Code Playgroud)


Bhu*_*wer 3

setHours() 方法根据本地时间设置指定日期的小时数,并返回自 1970 年 1 月 1 日 00:00:00 UTC 到更新的 Date 实例表示的时间的毫秒数。

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