uhrwerk/README.md
cupcakearmy eae9bde43b docs
2019-03-23 19:43:30 +01:00

2.1 KiB

uhrwerk 🕰

Minimal time duration utility. Replacement for MomentJS Durations. If you are looking into the time component of MomentJS check out this awesome library dayjs.

📦 It's tiny: 1.6kB vs moment js 231.7kb

Typescript typings included

Quickstart 🚀

// Whatever import you prefer
// const { Duration } = require('uhrwerk')
import { Duration } from 'uhrwerk'

const d = new Duration(10, 'days')
d.subtract(1, 'week')
d.add(5, 'minutes')

d.humanize()    // '3 days'
d.minutes()     // 5
d.asMinute()    // 4325

d.subtract(3, 'days')
d.humanize()    // 'a few minutes'

Reference 📒

new Duration(amount, interval)

  • amount: number
  • interval: 'millisecond', 'second', 'minute', 'hour', 'day', 'week', 'year' Intervals can also be plural: e.g. 'days' is an alias for 'day'
Examples
const a = new Duration(1, 'day')
const b = new Duration(2, 'days')
const c = new Duration(0.5, 'year')

.add(amount, interval)

Adds a specified amount to an existing duration

Example
const a = new Duration(1, 'day')
a.add(12, 'hours')
a.asHour() // 36

.subtract(amount, interval)

Subtracts a specified amount to an existing duration

Example
const a = new Duration(1, 'day')
a.subtract(12, 'hours')
a.asHour() // 12

Getters

Gets the amount of time interval, not the total time

  • .milliseconds()
  • .seconds()
  • .minutes()
  • .hours()
  • .days()
  • .weeks()
  • .years()
Example
const a = new Duration(1, 'day')
a.days() // 1
a.add(5, 'minutes')
a.days() // 1
a.add(1, 'year')
a.days() // 1
a.add(24, 'hours')
a.days() // 2

As interval

Calculates the time duration as a time interval.

  • .asMilliseconds()
  • .asSeconds()
  • .asMinutes()
  • .asHours()
  • .asDays()
  • .asWeeks()
  • .asYears()
Example
const a = new Duration(1, 'day')
a.asHours() // 24