@qc/date-round
Rounds a date to the nearest interval from 1 milliseconds up to 24 hours.
Installation
npm install @qc/date-round
yarn add @qc/date-round
Usage
import { round } from '@qc/date-round'
let dateIn = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
let interval = 60 * 60 * 1000
let dateOut = round(dateIn, interval)
dateIn === dateOut;
Examples
Nearest Hour
import { round } from '@qc/date-round'
let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date)
let interval = 60 * 60 * 1000
date = round(date, interval)
console.log(date)
Nearest Half Hour
import { round } from '@qc/date-round'
let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date)
let interval = 30 * 60 * 1000
date = round(date, interval)
console.log(date)
Nearest 15 Minutes
import { round } from '@qc/date-round'
let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date)
let interval = 15 * 60 * 1000
date = round(date, interval)
console.log(date)
Nearest Ten Minutes
import { round } from '@qc/date-round'
let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date)
let interval = 10 * 60 * 1000
date = round(date, interval)
console.log(date)
Nearest Five Minutes
import { round } from '@qc/date-round'
let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date)
let interval = 5 * 60 * 1000
date = round(date, interval)
console.log(date)
Nearest Minute
import { round } from '@qc/date-round'
let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date)
let interval = 60 * 1000
date = round(date, interval)
console.log(date)
Nearest Second
import { round } from '@qc/date-round'
let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
date.setMilliseconds(789)
console.log(date)
let interval = 1000
date = round(date, interval)
console.log(date)
Nearest 250 Milliseconds
import { round } from '@qc/date-round'
let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
date.setMilliseconds(789)
console.log(date)
let interval = 250
date = round(date, interval)
console.log(date)