Giter Club home page Giter Club logo

duration's Introduction

duration - Time duration utilities

Formerly part of es5-ext project.

Installation

Node.js

$ npm install duration

Browser

Can be bundled for browser with help of modules-webmake

Example usage:

var Duration = require('duration')

var duration = new Duration(new Date(2000, 6, 7),
	new Date(2010, 8, 13, 3, 23, 8, 456));

console.log("Years: ", duration.years);
console.log("Months: ", duration.months);
console.log("Days: ", duration.days);
console.log("Hours: ", duration.hours);
console.log("Minutes: ", duration.minutes);
console.log("Seconds: ", duration.seconds);
console.log("Milliseconds: ", duration.milliseconds);

console.log("Trailing months: ", duration.month);
console.log("Trailing days: ", duration.day);
console.log("Trailing hours: ", duration.hour);
console.log("Trailing minutes: ", duration.minute);
console.log("Trailing seconds: ", duration.second);
console.log("Trailing milliseconds: ", duration.millisecond);

console.log("Default string representation: ", duration.toString());
console.log("Alternative string representation: ", duration.toString(1));
console.log("Custom string representation: ",
	duration.toString("H: %Hs m: %M"));

Output:

Years:  10
Months:  122
Days:  3720
Hours:  89283
Minutes:  5357003
Seconds:  321420188
Milliseconds:  321420188456
Trailing months:  2
Trailing days:  6
Trailing hours:  3
Trailing minutes:  23
Trailing seconds:  8
Trailing milliseconds:  456
Default string representation:  10y 2m 6d 03:23:08.456
Alternative string representation:  10y 2m 6d 3h 23m 8s 456ms
Custom string representation:  H: 89283 m: 23

Duration(from[, to])

Main module is both constructor and factory method, and can be used either way.
from and to are expected to be JavaScript Date objects. to is optional, and if not provided it defaults to current time.

Duration.prototype properties

years

Returns full years of the duration

months

Returns full months of the duration

days

Returns full days of the duration

hours

Returns full hours of the duration

seconds

Returns full seconds of the duration

minutes

Returns full minutes of the duration

milliseconds

Returns milliseconds of the duration

year

Same as years. Returns full years of the duration

month

Returns trailing months of the duration

day

Returns trailing days of the duration

hour

Returns trailing hours of the duration

minute

Returns trailing minutes of the duration

second

Returns trailing seconds of the duration

millisecond

Returns trailing seconds of the duration

valueOf()

Same as milliseconds. Returns milliseconds of the duration

toString([mode[, threshold]])

Returns readable representation of the duration.
When invoked without arguments (defaults to mode=0), returns as:

10y 2m 6d 03:23:08.456

When invoked with mode 1, returns alternative representation:

10y 2m 6d 3h 23m 8s 456ms

Representation returned by default modes can be customized with threshold setting that trims lowest units:

duration.toString();     // 10y 2m 6d 03:23:08.456
duration.toString(0, 1); // 10y 2m 6d 03:23:08
duration.toString(0, 2); // 10y 2m 6d 03:23

duration.toString(1);    // 10y 2m 6d 3h 23m 8s 456ms
duration.toString(1, 1); // 10y 2m 6d 3h 23m 8s
duration.toString(1, 2); // 10y 2m 6d 3h 23m

toString(format)

When invoked with string, formats the duration according to given pattern, where:

  • %y - duration.year
  • %m - duration.month
  • %d - duration.day
  • %H - duration.hour
  • %M - duration.minute
  • %S - duration.second
  • %L - duration.millisecond
  • %ms - duration.months
  • %ds - duration.days
  • %Hs - duration.hours
  • %Ms - duration.minutes
  • %Ss - duration.seconds
  • %Ls - duration.milliseconds
  • %sign - If duration is negative outputs - otherwise empty string

Tests Build Status

$ npm test

duration's People

Contributors

medikoo avatar df-dylan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.