String date and time utilities. 🕙
Timelite works in the top of Datetime Strings (ISO 8601), receiving one array of string datetimes and returning one array of Unsigned Datetime Integers. This makes it a portable, compact and faster library if you are probably thinking about why not around Date.
For now, the API is quite limited but feel free to contribute.
Time
-
add
: Add an array of string times. E.g.add(['04:20:10', '21:15:10'])
=>[ 25, 35, 2 ]
-
str
: Format an array of time values into string time. E.g.str([12, 10, 45])
=>12:10:45
-
sub
: Subtract an array of string times. E.g.sub(['20:40:10', '20:10:50'])
=>[ 0, 29, 20 ]
Date
-
normalize
: Normalize string date values returning a valid date as an unsigned integer array. E.g.normalize('0-02-31')
=>[ 2000, 2, 28 ]
-
str
: Format an array date values into a valid string date. E.g.str([0, 0, 0])
=>'2000-01-01'
yarn add timelite
npm install timelite
UMD file is also available on unpkg:
<script src="https://unpkg.com/timelite/timelite.umd.min.js"></script>
You can use the library via window.timelite
.
Add an array of string time values "HH:mm:ss".
import { add } from 'timelite/time'
add(['04:20:10', '21:15:10'])
// [ 25, 35, 2 ]
add(['04:35:10', '21:35:10'])
// [ 26, 10, 2 ]
add(['30:59', '17:10'])
// [ 48, 09, 0 ]
add(['19:30:00', '00:30:00'])
// [ 20, 00, 0 ]
Subtract an array of string time values "HH:mm:ss".
import { sub } from 'timelite/time'
sub(['20:40:10', '20:10:50'])
// [ 0, 29, 20 ]
sub(['20:05:10', '10:10:50'])
// [ 9, 54, 20 ]
Format an array time values into string time.
import { str } from 'timelite/time'
str([12, 10, 45])
// "12:10:45"
str([5, 1, 0])
// "05:01:00"
str([7, 22])
// "07:22:00"
Normalize string date values returning a valid date as an unsigned integer array.
import { normalize } from 'timelite/date'
normalize('1980-09-02')
// [ 1980, 9, 2 ]
normalize('17')
// [ 2017, 1, 1 ]
normalize('18-04')
// [ 2018, 4, 1 ]
normalize('0-02-31')
// [ 2000, 2, 28 ]
Format an array date values into a valid string date.
import { str } from 'timelite/date'
str([ 0, 0, 0 ])
// 2000-01-01
str([ 17, 14, 5 ])
// 2017-12-05
str([ 1988, 2 ])
// 1988-02-01
Feel free to send some Pull request or issue.
MIT license
© 2018-present Jose Quintana