我正在尝试计算当月的当前秒数,但是我在创建一个简单的函数时遇到了麻烦。
我最好的猜测是使用getTime() - 自1970年1月1日以来的当前毫秒数 - 然后减去X,其中X是直到上个月末的毫秒数。
你能帮我想一个更好的方法吗?
非常感谢你的帮助。
干杯,
答案 0 :(得分:2)
function() {
var now = new Date().getTime(),
monthStart = new Date();
monthStart.setDate(1);
monthStart.setHours(0);
monthStart.setMinutes(0);
monthStart.setSeconds(0);
monthStart.setMilliseconds(0);
return Math.floor((now - monthStart.getTime()) / 1000);
}
答案 1 :(得分:1)
您可以创建一个Date实例,然后调用方法将所有内容设置回当月第一天的00:00:00。然后你从“现在”的时间戳中减去它。
您要调用的方法是setDate(1)
将日期设置回月初,然后setHours()
,setMinutes()
,setSeconds()
和setMilliseconds()
,传递所有这些零。
时间戳(来自getTime()
的返回值以毫秒为单位,因此您将差异除以1000以获得月中的秒数。
答案 2 :(得分:1)
您可以创建一个新日期设置为该月的第一天,如下所示:
var start = Date.parse("2010-11-01");
然后你可以为今天创建一个日期:
var today = Date.now();
然后你只需减去它们:
var seconds_in_month = today - start;