Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hypersoftllc/qc-date-round
Rounds a date to the nearest interval.
https://github.com/hypersoftllc/qc-date-round
date date-time javascript round utility-function
Last synced: 28 days ago
JSON representation
Rounds a date to the nearest interval.
- Host: GitHub
- URL: https://github.com/hypersoftllc/qc-date-round
- Owner: hypersoftllc
- License: isc
- Created: 2018-11-04T03:17:17.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-11-04T17:21:23.000Z (over 6 years ago)
- Last Synced: 2025-01-03T09:05:15.839Z (about 1 month ago)
- Topics: date, date-time, javascript, round, utility-function
- Language: JavaScript
- Size: 25.4 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @qc/date-round
Rounds a date to the nearest interval from 1 milliseconds up to 24 hours.
## Installation
```sh
npm install @qc/date-round# or
yarn add @qc/date-round
```## Usage
```js
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; // false
```## Examples
**Nearest Hour**
```js
import { round } from '@qc/date-round'let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date) // 2000-01-01T02:34:56
let interval = 60 * 60 * 1000
date = round(date, interval)
console.log(date) // 2000-01-01T03:00:00
```**Nearest Half Hour**
```js
import { round } from '@qc/date-round'let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date) // 2000-01-01T02:34:56
let interval = 30 * 60 * 1000
date = round(date, interval)
console.log(date) // 2000-01-01T02:30:00
```**Nearest 15 Minutes**
```js
import { round } from '@qc/date-round'let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date) // 2000-01-01T02:34:56
let interval = 15 * 60 * 1000
date = round(date, interval)
console.log(date) // 2000-01-01T02:30:00
```**Nearest Ten Minutes**
```js
import { round } from '@qc/date-round'let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date) // 2000-01-01T02:34:56
let interval = 10 * 60 * 1000
date = round(date, interval)
console.log(date) // 2000-01-01T02:30:00
```**Nearest Five Minutes**
```js
import { round } from '@qc/date-round'let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date) // 2000-01-01T02:34:56
let interval = 5 * 60 * 1000
date = round(date, interval)
console.log(date) // 2000-01-01T02:35:00
```**Nearest Minute**
```js
import { round } from '@qc/date-round'let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
console.log(date) // 2000-01-01T02:34:56
let interval = 60 * 1000
date = round(date, interval)
console.log(date) // 2000-01-01T02:35:00
```**Nearest Second**
```js
import { round } from '@qc/date-round'let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
date.setMilliseconds(789)
console.log(date) // 2000-01-01T02:34:56.789
let interval = 1000
date = round(date, interval)
console.log(date) // 2000-01-01T02:35:57
```**Nearest 250 Milliseconds**
```js
import { round } from '@qc/date-round'let date = new Date(Date.UTC(2000, 0, 1, 2, 34, 56))
date.setMilliseconds(789)
console.log(date) // 2000-01-01T02:34:56.789
let interval = 250
date = round(date, interval)
console.log(date) // 2000-01-01T02:35:57.75
```