setHours()在字符串时间戳中转换我的Date对象

Jac*_*BER 5 javascript timestamp date

我尝试将日期设置为午夜以简化我的日期操作,为此我写了这部分代码:

var now = new Date();
today = now.setHours(0,0,0,0);
console.log(now, today);
Run Code Online (Sandbox Code Playgroud)

我很惊讶地看到now包含Date对象和today时间戳.当我想使用getMonth()或其他日期函数时,这会带来错误.使用时间戳重新创建Date对象很有意义.

这是正常的吗?我怎样才能解决这个问题?

(随意更新我的帖子来纠正我的坏英语:)

pcn*_*ate 5

这是正常的吗?

我怎样才能解决这个问题?

您正在指定now.setHours(0,0,0,0)to 的返回值today.

也许你正在寻找的是这样的:

var now = new Date();

var today = new Date();
today.setHours(0,0,0,0);
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您setHours可以根据您希望设置小时数的价值采取行动.这是使用的主要方式setHours.

其他详情

  • 规范没有出现提的返回值.其他网站,如w3schools.
  • 铬调用setHours源显示值为回报,虽然其他功能执行同样不返回此值.我假设SET_LOCAL_DATE_VALUE在chrome的date.js中找到的函数将值赋给第一个参数.