Moment.js Настройка округления относительного времени

Опубликовано: 24 Февраля, 2023

Moment.js — это библиотека дат JavaScript для синтаксического анализа, проверки, манипулирования и форматирования дат. Moment.js Customize Relative Time Rounding используется для округления времени в соответствии с требованиями. Здесь относительное означает, что время будет округлено относительно текущего времени. Мы можем управлять округлением с помощью moment.relativeTimeRounding .

Синтаксис:

moment.relativeTimeRounding( function );

Параметры: этот метод принимает один параметр, указывающий тип округления, который необходимо выполнить. Некоторые из доступных параметров перечислены ниже:

  • Math.ceil будет округлять оценку относительного времени в большую сторону.
  • Math.floor будет округлять оценку относительного времени в меньшую сторону.

Возвращаемое значение: Эта функция возвращает время, округленное до текущего времени.

Примечание. Это не будет работать в обычной программе Node.js, поскольку для этого требуется установить библиотеку moment.js.

Moment.js можно установить с помощью следующей команды:

npm install moment

Пример 1: Здесь мы будем округлять до одного часа от текущего времени. Для этого нам нужно передать Math.floor в качестве параметра.

Javascript




var moment = require("moment");
  
// Round relative time evaluation down
moment.relativeTimeRounding(Math.floor);
  
var a = moment();
a.toNow(); // Current time
console.log("Current time is:", a);
  
// Rounding-down time to one-hr behind
a.subtract({ minutes: 59 });
console.log("Rounded-down time is:", a);

Выход:

Current time is:  Moment<2022-11-30T19:38:20+05:30>
Rounded-down time is:  Moment<2022-11-30T18:39:20+05:30>

Пример 2: Здесь мы будем округлять до одного дня вперед текущего времени. Для этого нам нужно передать Math.ceil в качестве параметра.

Javascript




var moment = require("moment");
  
// Round relative time evaluation up
moment.relativeTimeRounding(Math.ceil);
  
var a = moment();
a.toNow();
console.log("Current time is: ", a);
  
// Rounding-up time to one-day ahead
a.add({ hours: 23, minutes: 59, seconds: 59 });
console.log("Rounded-up time is: ", a);

Выход:

Current time is:  Moment<2022-11-30T19:41:59+05:30>
Rounded-up time is:  Moment<2022-12-01T19:41:58+05:30>

Ссылки: https://momentjs.com/docs/#/customization/relative-time-rounding