Javascript 如何获取自月初以来经过的总秒数?

Javascript 如何获取自月初以来经过的总秒数?,javascript,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日。可能出了什么问题?谢谢。第2行试试这个: var dayOne = new Date(now

我想知道自本月初以来的总秒数

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日。可能出了什么问题?谢谢。

第2行试试这个:

var dayOne = new Date(now.getFullYear(), now.getMonth(), 1, 0, 0, 0, 0);
在第2行中尝试以下操作:

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

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, 0);

将第2行更改为

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

日期将接受参数年、日期、月、小时、分钟、秒、毫秒

由于您提供的月份为now.getMonth+1,因此当前Senario的月份将是11月。但是,由于您将日期指定为0,因此将是10月31日,因为11月0日是10月的最后一天。

将第2行更改为

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

日期将接受参数年、日期、月、小时、分钟、秒、毫秒


由于您提供的月份为now.getMonth+1,因此当前Senario的月份将是11月。但是,由于您将日期指定为0,因此将是10月31日,因为11月0日是10月的最后一天。

啊,对于天。。我认为它应该从0开始,但请稍候,getMonth不返回以零为基础的月份值?@Blendester出于某种原因,月份以0为基础,但日期以1为基础getMonth确实返回以零为基础的值,但new date也接受该月为以零为基础的值。看啊,今天。。我认为它应该从0开始,但请稍候,getMonth不返回以零为基础的月份值?@Blendester出于某种原因,月份以0为基础,但日期以1为基础getMonth确实返回以零为基础的值,但new date也接受该月为以零为基础的值。看,我改变了。谢谢,我改了。谢谢