繁体   English   中英

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

[英]setHours() convert my Date object in string timestamp

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

var now = new Date();
today = now.setHours(0,0,0,0);
console.log(now, today);

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

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

(随时更新我的​​帖子以纠正我的英语不好:)

正常吗

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

您正在将now.setHours(0,0,0,0)的返回值分配给today

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

var now = new Date();

var today = new Date();
today.setHours(0,0,0,0);

这样, setHours就会作用在您希望设置小时数的值上。 这是使用setHours的主要方式。

其他详情

  • 规范似乎没有提及返回值。 其他网站,例如w3schools也可以。
  • Chromium setHours源显示正在返回一个值,尽管其他执行类似功能的函数也不返回该值。 我假设在SET_LOCAL_DATE_VALUE找到的SET_LOCAL_DATE_VALUE函数正在将值分配给第一个参数。

您可以使用datejsmomentjs轻松操作日期

date.js:

   Date.today().set({ hour : 0 });

moment.js

   moment().set({ "hour": 0, "minute" : 0, "second": 0});

我也有类似的情况,但枢纽答案无法解决我的问题...

我所做的是:

var today = new Date();
today = new Date(today.setHours(0,0,0,0));
console.log('Date: '+today);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM