timediff
Calculate a time difference in several time units.
Usage
Node
$ npm install --save timediff
var timediff = ; ;// => { years: 3, days: 121, hours: 2, minutes: 15, milliseconds: 10777 }
Bower
bower install --save timediff
CLI
$ npm install --global timediff
$ timediff --help Usage: timediff <start> <end> [<units>] Example: timediff 2013-12-01 '2015-04-20 12:20:10.342' YMWDHmSs years: 1 months: 4 weeks: 2 days: 5 hours: 12 minutes: 20 seconds: 10 milliseconds: 342 timediff 1989-11-09 now YD years: 25 days: 71
Examples
// return the timediff in all possible units;// => { years: 3, months: 3, weeks: 0, days: 1, hours: 2, minutes: 15, seconds: 10, milliseconds: 0 } // return the timediff only in years, weeks, days hours and seconds;// => { years: 3, weeks: 12, days: 6, hours: 2, seconds: 910 } // return the timediff only in month, minutes seconds, and milliseconds;// => { months: 39, minutes: 1575, seconds: 10, milliseconds: 777 } // provide the result to a callback and return the result of the callback;// => 'age: 45 years, 7 months, 0 weeks, 6 days, 5 hours, 54 minutes, 5 seconds, 257 milliseconds' // combine all optionsvar christmas = ; christmas; christmas;;// => 'Time until christmas: {"months":11,"weeks":1,"days":1}'
API
timediff(start, end, options)
Return the time difference between start
and end
. Use only the units specified in options
.
Return:
years: 0 months: 0 weeks: 0 days: 0 hours: 0 minutes: 0 seconds: 0 milliseconds: 0
start, end
Required
Type: string
| Date
| moment
options
Type: object
| string
| function
Default:
units: years:true months: true weeks: true days: true hours: true minutes: true seconds: true milliseconds: true returnZeros: true callback: null
Use timediff(start, end, unitString)
(where unitString
is a string) as a shortcut for
timediff(start, end, {units: unitString})
.
Use timediff(start, end, callback)
(where callback
is a function) as a shortcut for
timediff(start, end, {callback: callback})
.
options.units
Type: object
| string
Can be an object as given above or a string containing any of YMWDHmSs
.
If a letter exists in the string the corresponding unit is used in
the result.
letter | result uses |
---|---|
Y | years |
M | months |
W | weeks |
D | days |
H | hours |
m | minutes |
S | seconds |
s | milliseconds |
options.returnZeros
Type: boolean
If true
result can contain fields that are 0
, if false
they are removed.
options.callback
Type: function
Function that is called with the result of timediff as the first parameter. timediff returns the return value of this callback.
Licence
MIT copyright [Marco Taubmann]