我希望自当月开始以来已经过了几秒钟。
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日。什么可能是错的?感谢。
答案 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);