我需要获得某一天的毫秒数(即使是今天),但需要将结果向下舍入。
例如,使用getTime()
方法到目前为止的毫秒数为1432738826994
。
我希望将其向下舍入以获得当天开始之前的毫秒数,我需要摆脱所有的分钟和小时。是否有一种干净简单的方法来实现这一目标?
答案 0 :(得分:2)
var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
var mi = d.getMilliseconds();
var fromStart = mi + (s * 1000) + (m * 60 * 1000) + (h * 60 * 60 * 1000);
var roundedDown = Date.now() - fromStart;
要打印当天的开始,请使用new Date(Date.now() - fromStart)
答案 1 :(得分:2)
如果您对使用外部库感到满意,最简单的方法是使用moment.js。
moment().startOf('day').valueOf();
将在今天开始时为您提供unix纪元值。
如果你想使用内置日期对象的Javascript,那么你需要将小时,分钟,秒和毫秒设置为0:
var rightNow = new Date();
rightNow.setHours(0);
rightNow.setMinutes(0);
rightNow.setSeconds(0);
rightNow.setMilliseconds(0);
或者仅从年,月和日值创建新对象:
var rightNow = new Date();
var earlierToday = new Date(rightNow.getFullYear(), rightNow.getMonth(), rightNow.getDate(), 0, 0, 0, 0);