Раунд время до последних 10 минут JavaScript - PullRequest
0 голосов
/ 03 января 2019

Для моего приложения нужна текущая дата / время. Но мне нужно округлить это до ближайших 10 минут. Я сделал это с Math.round. Проблема в том, что мне нужно, чтобы округлить до последних 10 минут. Не до следующего. Потому что у меня пока не будет этих данных.

Например:

16: 33 = 16:30 || 16:38 = 16:30 || 16:41 = 16: 40

Как я могу это сделать?

const coeff = 1000 * 60 * 10;
const date = new Date();  //or use any other date
let roundDate = new Date(Math.round(date.getTime() / coeff) * coeff);

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Вы можете использовать Math.floor():

const coeff = 1000 * 60 * 10;
const date = new Date("2019-01-03T13:18:05.641Z");

let floorDate = new Date(Math.floor(date.getTime() / coeff) * coeff);

console.log(date);
console.log(floorDate);
0 голосов
/ 03 января 2019

Используйте Math.floor, но разделите значение на 10, а затем умножьте на 10.

Пример:

var x = 11;
console.log(Math.floor(x / 10) * 10);

Дата Пример:

let date = new Date();
console.log(date);

let min = date.getMinutes();
date.setMinutes(Math.floor(min / 10) * 10);
console.log(date);
...