如何在给定的时间跨度内返回所有午夜的历元



我有一个介于两个epoch时间之间的时间跨度(以秒为单位(。我想要一个函数,返回该时间跨度内所有午夜的历元时间(以秒为单位(。

在伪代码中,我想要这样的东西:

const epoch_start = 1600000;
const epoch_end = 16040000;
function getMidnights(start, end){
// do your magic    
}
console.log(getMidnights(epoch_start, epoch_end));

我希望该函数的返回如下:[16000201600400](这些只是示例值(。

最有效的方法是什么?

我的想法是:获取范围内唯一的天数列表,并返回它们的午夜。

您可以逐日取整:

const epoch_start = 1600000000;
const epoch_end   = 1600400000;
const day = 86400;
function getMidnights(start, end){
midnites = [];
while (start < end) {
midnites.push((start/day + .5|0)*day);
start += day;
}
return midnites;
}
console.log(getMidnights(epoch_start, epoch_end))
console.log('* check it *')
console.log(getMidnights(epoch_start, epoch_end).map(t => new Date(t*1e3)));

相关内容

  • 没有找到相关文章

最新更新