Time-Duration-Stringify
This package lets you transform a time duration into a nicely-formatted string. Provide an integer duration in milliseconds, and get a time duration of either the format "5:03", or "5 minutes, and 3 seconds".
Installation
NPM: npm install --save time-duration-stringify
YarnPkg: yarn add time-duration-stringify
Examples
let Duration = ; // Example with whole number secondslet durationMillis = 3725000; // one hour + 2 minutes + 5 secondslet result1 = Duration;// result1 will be "1:02:05"let result2 = Duration;// result2 will be "1 hour, 2 minutes, and 5 seconds" // Example with fractional seconds (milliseconds)let durationMillis = 301068; // 5 minutes + 1 second + 68 millisecondslet result1 = Duration;// result1 will be "5:01.068"let result2 = Duration;// result2 will be "5 minutes, 1 second, and 68 milliseconds" // Example of omitting Oxford commalet durationMillis = 125000 // 2 minutes + 5 secondslet result1 = Duration;// result1 will be "2 minutes, and 5 seconds"let result2 = Duration;// result2 will be "2 minutes and 5 seconds"
API Reference
The largest unit of time supported is days. Thus the recognized separations are days, hours, minutes, seconds, and milliseconds.
Duration.toStringShort(durationMillis);
durationMillis
: a positive integer number representing a duration in milliseconds (throws error if invalid)
Return value: a string of format "4:02:35.749"
Corner cases:
Duration -> "0:00" // Zero valueDuration -> "0:00.130" // Always includes minutes, secondsDuration -> "0:02" // Omits milliseconds if none
Duration.toStringLong(durationMillis, omitOxfordComma);
durationMillis
: a positive integer number representing a duration in milliseconds (throws error if invalid)
omitOxfordComma
: an optional boolean flag to omit the Oxford comma (eg "4 hours, 2 minutes, 35 seconds and 749 milliseconds)
Return value: a string of format "4 hours, 2 minutes, 35 seconds, and 749 milliseconds"
Corner cases:
Duration -> "0 seconds" // Zero valueDuration -> "1 day" // Omits zero-components