我的理解是unix时间戳被解析为毫秒
Math.round((new Date()).getTime()); // 1383507660267
所以如果我想要第二个分辨率我会做
Math.round((new Date()).getTime() / 1000); // 1383507729
如何获得日期解决方案? (所以每24小时才会改变一次)
答案 0 :(得分:3)
如果你不得不应对日光节约时间的变化,那么将时间戳标准化以反映某个特定时间可能会更好,例如(任意)中午12:00:
var daystamp = function() {
var d = new Date();
d.setHours(12);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);
return d.getTime();
}();
那将在你生成它的那天给你时间戳,所以如果你在一个特定的日历日期的任何时候得到它,它总会给你相同的价值。只有当日期不同时才会有所不同,无论一天中有多少小时。因此,当系统为时移添加或删除一小时时,事情仍然有效。
答案 1 :(得分:2)
怎么样......
Math.round((new Date()).getTime() / (24 * 3600 * 1000));
那应该做的工作。甚至更简单:
(new Date()).getTime() / (24 * 3600 * 1000);