我想创建按X分钟分组的时间戳列表。
例如,我有最小数据值和最大日期时间戳值。
minDate = 1524548466000; // Tuesday, April 24, 2018 5:41:06 AM
maxDate = 1524577986000; // Tuesday, April 24, 2018 1:53:06 PM
所以我想用创建时间戳数组开始于2018年4月24日星期二上午5:40:0 到 2018年4月24日星期二,下午1:55:00 使用javascript。
我想要这个输出:
[1524548400000,1524548700000,1524549000000,... 1524578100000]
我该怎么做?
答案 0 :(得分:0)
这是我的解决方案。我只计算第二,并与maxDate进行比较。
var minDate = new Date(1524548466000); // Tuesday, April 24, 2018 5:41:06 AM
var maxDate = new Date(1524577986000); // Tuesday, April 24, 2018 1:53:06 PM
var listTimestamp = [];
while (minDate.getTime() !== maxDate.getTime()) {
minDate.setSeconds(minDate.getSeconds() + 1);
listTimestamp.push(minDate.getTime());
}
console.log(listTimestamp);

答案 1 :(得分:0)
这是您需要的功能
function timestampGrouping(minDate, maxDate, x){
var gap = x * 60000 //60000 = 1minute;
minDate = Math.floor(minDate/gap)*gap;
maxDate = Math.ceil(maxDate/gap)*gap;
var arr = [];
while(minDate <= maxDate){
arr.push(minDate);
minDate += gap;
}
return arr;
}
var groupingArr = timestampGrouping(1524548466000, 1524577986000, 5);
console.log(groupingArr);
&#13;
Math.floor
和Math.ceil
是为了找到您需要的最近的间隙值,然后循环认为该值可以获得您想要的所有微小差距。
minDate,maxDate和gap value可以是您想要的任何内容。
希望这是你所需要的。
答案 2 :(得分:0)
你可以除以给定的Unix Time (Epoch Time)并将它除以想要的分钟,秒和1000的乘积,以毫秒为单位。
5 minutes * 60 seconds * 1000 milliseconds = 300000
对于在同一插槽中移动事件,请使用
Math.floor(time / 300000)
答案 3 :(得分:0)
如果持续时间为5分钟,则可以按如下方式设置持续时间变量。
package chrome;
public class HeadlessTesting {
public static void main(String[] args) throws IOException{
System.setProperty("webdriver.chrome.driver",
"ChromeDriverPath");
ChromeOptions options = new ChromeOptions();
options.addArguments("headless");
options.addArguments("window-size=1200x600");
WebDriver driver = new ChromeDriver(options);
driver.get("https://contentstack.built.io");
driver.get("https://www.google.co.in/");
System.out.println("title is: " + driver.getTitle());
File scrFile = ((TakesScreenshot) driver)
.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("pathTOSaveFile"));
driver.quit();
}
}