javascript - Varför returnerar new Date().setHours(18) ett nummer istället för ett datum?


Varför returnerar den första koden ett objekt av typen "Date" medan den andra returnerar ett "number"?

Enligt dokumentet (http://www.w3schools.com/jsref/jsref_sethours.asp) bör setHours() bara ändra värdet på timmen för datumobjektet, inte konvertera det.

Koden :

  var date = new Date();

  var date2 =date.setHours(19);

Tack!

Svar #1

Du behöver omsluta ditt svar med new Date(). Så här:

var date2 = new Date(date.setHours(19));

Svar #2

metoden setHours() ställer in timmarna för ett specificerat datum enligt lokal tid och returnerar antalet millisekunder sedan 1 januari 1970 00:00:00 UTC till den tid som representeras av den uppdaterade Date-instansen.

https://developer.mozilla.org/sv/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours

Relaterade artiklar