4.0.0 • Published 7 years ago

duration-js v4.0.0

Weekly downloads
581
License
MIT
Repository
github
Last release
7 years ago

Duration Build Status

This is a library for dealing with durations. It works well with javascript's Date objects.

Note: For compatibility with Go's time.Duration use the golang_compatible branch.

$ npm install duration-js
var Duration = require("duration-js");

Parse

  • ms - millisecond
  • s - second
  • m - minute
  • h - hour
  • d - day
  • w - week
var d = new Duration("6w5d4h3m2s1ms");

console.log(
    d.milliseconds(), "\n", // => 4075382001
    d.seconds(),      "\n", // => 4075382
    d.minutes(),      "\n", // => 67923
    d.hours(),        "\n", // => 1132
    d.days(),         "\n", // => 47
    d.weeks(),        "\n"  // => 6
);

Format

console.log(
  "str:",  Duration.hour.toString(),
  "ms:",   Duration.hour.valueOf()
); // => "str: 1h ms: 3600000"

Basic Operations

// Addition
var d1 = new Duration("6d"),
    d2 = new Duration(d1 + Duration.day);
console.log(d2.toString()) // => "168h"

// Multiplication
var d3 = new Duration("5m"),
    d4 = new Duration(d3 * 12);
console.log(d4.toString()) // => "1h"

// etc ...

Dates

// Adding duration to date
var d     = Duration.parse("5h"),
    now   = new Date(),
    later = new Date(now + d);
console.log(later.toString());

// Duration between two dates
var bday = new Date("March 3, 1991"),
    now  = new Date(),
    age  = new Duration(now - bday);
console.log(age.toString());

setTimeout / setInterval

setTimeout(function () {
    // runs 5 minutes later
}, new Duration("5m"));

setInterval(function () {
    // runs every 10 seconds 
}, 10 * Duration.second);
4.0.0

7 years ago

3.9.2

7 years ago

3.9.1

7 years ago

3.9.0

7 years ago

3.8.0

7 years ago

3.7.1

8 years ago

3.7.0

8 years ago

3.6.0

8 years ago

3.5.1

8 years ago

3.5.0

8 years ago

3.3.4

10 years ago

3.3.3

10 years ago

3.3.2

10 years ago

3.3.1

10 years ago

3.3.0

10 years ago

3.2.0

10 years ago

3.1.1

10 years ago

3.1.0

10 years ago

3.0.1

11 years ago

3.0.0

11 years ago