Have ideas to improve npm?Join in the discussion! »

    parse-duration
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    parse-duration Build Status

    convert a human readable duration to ms

    Installation

    npm install parse-duration

    then in your app:

    import parse from 'parse-duration'

    or CommonJS:

    var parse = require('parse-duration')

    API

    parse(str, format='ms')

    Convert str to ms

    var ns = parse('1ns') // => 1 / 1e6
    var μs = parse('1μs') // => 1 / 1000
    var ms = parse('1ms') // => 1
    var s = parse('1s')   // => ms * 1000
    var m = parse('1m')   // => s * 60
    var h = parse('1h')   // => m * 60
    var d = parse('1d')   // => h * 24
    var w = parse('1w')   // => d * 7
    var y = parse('1y')   // => d * 365.25

    It can also handle basic compound expressions

    parse('1hr 20mins') // => 1 * h + 20 * m

    whitespace

    parse('1 hr 20 mins') // => 1 * h + 20 * m

    comma seperated numbers

    parse('27,681 ns') // => 27681 * ns

    And most other types of noise

    parse('running length: 1hour:20mins') // => 1 * h + 20 * m

    You can even use negatives

    parse('2hr -40mins') // => 1 * h + 20 * m

    And exponents

    parse('2e3s') // => 2000 * s

    Available unit types are:

    • nanoseconds (ns)
    • microseconds (μs)
    • milliseconds (ms)
    • seconds (s, sec)
    • minutes (m, min)
    • hours (h, hr)
    • days (d)
    • weeks (w, wk)
    • months
    • years (y, yr)

    And its easy to add more, including unicode:

    parse['сек'] = parse['sec']
    parse('5сек') // => 5000

    The output format can also be defined

    parse('1hr 20mins', 'm') // => 80

    Install

    npm i parse-duration

    DownloadsWeekly Downloads

    116,334

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    6.62 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar