如何获得自本月初以来的总秒数?

时间:2017-10-20 15:00:41

标签: javascript

我希望自当月开始以来已经过了几秒钟。

var now = new Date();
var dayOne = new Date(now.getFullYear(), now.getMonth() + 1, 0, 0, 0, 0, 0);
var distance = now - dayOne;
var totalSeconds = Math.floor(distance/1000);

但是在第二行中,它显示了本月31日。什么可能是错的?感谢。

3 个答案:

答案 0 :(得分:3)

将第2行更改为

var dayOne = new Date(now.getFullYear(), now.getMonth(), 1, 0, 0, 0, 0);

原因:

日期将接受参数(年,日,月,小时,分钟,秒,毫秒);

当您提供月份now.getMonth() + 1时,它将是当前Senario的11月。但是当你将Date设为0时,它将是10月31日,因为11月的第0天是10月的最后一天。

答案 1 :(得分:2)

尝试第2行:

var dayOne = new Date(now.getFullYear(), now.getMonth(), 1, 0, 0, 0, 0);

答案 2 :(得分:1)

更改

var dayOne = new Date(now.getFullYear(), now.getMonth() + 1, 0, 0, 0, 0, 0);

var dayOne = new Date(now.getFullYear(), now.getMonth(), 1, 0, 0, 0, 0);