Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/analizapandac/time-turner-js
:clock4: Modern day JavaScript time-rounding utility library :clock4:
https://github.com/analizapandac/time-turner-js
round time typescript utility
Last synced: 25 days ago
JSON representation
:clock4: Modern day JavaScript time-rounding utility library :clock4:
- Host: GitHub
- URL: https://github.com/analizapandac/time-turner-js
- Owner: analizapandac
- License: mit
- Created: 2019-09-01T04:18:02.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T08:38:41.000Z (almost 2 years ago)
- Last Synced: 2024-09-13T22:46:00.311Z (about 2 months ago)
- Topics: round, time, typescript, utility
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/time-turner-js
- Size: 518 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Time Turner :clock4:
[![dependencies Status](https://david-dm.org/analizapandac/time-turner-js/status.svg)](https://david-dm.org/analizapandac/time-turner-js)
[![npm version](https://badge.fury.io/js/time-turner-js.svg)](https://badge.fury.io/js/time-turner-js)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)**time-turner-js** provides a simple way of rounding time to the nearest minutes (nearest quarter, nearest 30 minutes etc.) in a browser & Node.js.
The library is available as an [npm package](https://www.npmjs.com/package/time-turner-js). To install the package run:
```
npm install time-turner-js --save
# or with yarn
yarn add time-turner-js
```## **Docs**
---
### **roundToNearestMinutes(input, nearestMinutes)**Rounds the given time to the nearest specified minutes
#### Arguments
| Name | Type | Description |
| ------------- |:-------------:| -----:|
| input | string or Date | Time to round|
| nearestMinutes | number | The closest minute to round to. Must be from `1` to `30`. If `0` is provided it will return the same time or Date |#### Returns ( Date | string | undefined )
`Date` - If input is a valid date string (ex. `2019-08-30 14:14 UTC+8`) or a Date object.`string` - Returns the rounded time in the same format that it was given unless given input is a date string. For example if input is `10:12 AM`, it will return the rounded time as `10:15 AM` which has the same format of `hh:mm A` as the input.
`undefined` - If arguments provided are invalid or if an error occured while rounding the time. The library will not throw any error.
#### Usage
```js
// CommonJS
// var { roundToNearestMinutes } = require('time-turner-js');// ES2015
import { roundToNearestMinutes } from 'time-turner-js';roundToNearestMinutes('10:12am', 15); // => '10:15am'
roundToNearestMinutes('04:06 PM', 10); // => '04:10 PM'
roundToNearestMinutes('04:06 PM', 10); // => '04:10 PM'
roundToNearestMinutes('01:02:34.75', 10); // => '01:00:00.00'
roundToNearestMinutes('8:22:25 PM', 10); // => '8:20:00 PM'
roundToNearestMinutes('2:33p.m.', 10) // => '2:30p.m.'roundToNearestMinutes('8:22:25 PM', 10); // => '8:20:00 PM'
roundToNearestMinutes('11:51P.M.', 10); // => '11:50P.M'
roundToNearestMinutes('11:59P.M.', 10); // => '12:00A.M'
roundToNearestMinutes('23:59', 10); // => '00:00'// will return undefined for the following calls
roundToNearestMinutes('08:70', 15); // => undefined
roundToNearestMinutes('2019-08-30', 5); // => undefinedroundToNearestMinutes('2019-08-30 14:14 UTC+8', 15)); // => new Date('2019-08-30T06:15:00.000Z')
roundToNearestMinutes('2009-06-15T13:45:30', 10)); // => new Date('2009-06-15T05:50:00.000Z')
roundToNearestMinutes('2019-08-30 14:14 UTC+8', 0); // => new Date('2019-08-30T06:14:00.000Z')```
## License
MIT © Ana Liza Pandac