parse-duration

convert a human readable duration string to ms

parse-duration

convert a human readable duration to ms

With your favourite package manager:

  • packin: packin add parse-duration
  • component: component install jkroso/parse-duration
  • npm: npm install parse-duration

then in your app:

var parse = require('parse-duration')

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 

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