Non-strict format, time to seconds converter
npm install time-to-seconds



!npm

!npms.io (maintenance)
!npms.io (quality)
!npms.io (popularity)
!npms.io (final)


Unopinionated time to seconds converter that lets you decide the format of your h:m:s; as long as you keep the number of colons between 0 and 2 it does not matter if you use "hh:mm:ss", "h:m:s" or "hhh:mmmm:ssss" format - you will always get the number of seconds back as an integer.
- time-to-seconds
- Documentation
- Usage
- Examples
- Empty Strings
- Error Handling
- Decimal Numbers
- Math
- License
Pass time as a string, e.g.:
- "h:m:s"
- "m:s"
- ":s"
- "s"
- or any variation of "h:m:s", e.g. ":m:s"; as long as you keep the number of colons between 0 and 2, where h, m or s are any numbers, you will get seconds - as a number - in return.
``js
var timeToSeconds = require("time-to-seconds");
timeToSeconds("2:2:2");
// => 7322
timeToSeconds("02:02:02");
// => 7322
timeToSeconds("2:02:02");
// => 7322
timeToSeconds("2:2:02");
// => 7322
timeToSeconds("2:");
// => 120
timeToSeconds("2:0");
// => 120
timeToSeconds("02:0");
// => 120
timeToSeconds("02:00");
// => 120
timeToSeconds(":2");
// => 2
timeToSeconds("2");
// => 2
timeToSeconds("0:2");
// => 2
timeToSeconds("0:02");
// => 2
timeToSeconds("00:02");
// => 2
timeToSeconds("");
// => 0
timeToSeconds("0");
// => 0
`
The non-strict format will allow for the input of an empty string which will be treated the same as passing the number 0; the below inputs are equivalent and will return 0 seconds:
- timeToSeconds("")timeToSeconds("0")
- timeToSeconds(":0")
- timeToSeconds("::0")
- timeToSeconds(":")
- timeToSeconds("::")
-
`js
timeToSeconds("Anything else than time string");
// TypeError: 'time-to-seconds: wrong argument type - something else than a number string in format "number", "number:number" or "number:number:number" was passed. See documentation for more information on argument formatting: https://www.npmjs.com/package/time-to-seconds.'
timeToSeconds("2:2:2:2");
// TypeError: 'time-to-seconds: too many colons - make sure the function argument is a number string in format "number", "number:number" or "number:number:number". See documentation for more information on argument formatting: https://www.npmjs.com/package/time-to-seconds.'
`
If you pass decimals to the function, e.g.:
- timeToSeconds("0.2:00") ortimeToSeconds("0.2:")
-
(in the above examples the inputs are the same) it will be interpreted as 0.2 of one minute, so 12 seconds (60 * 0.2 = 12 seconds).
Similarly, if you pass, e.g.:
- timeToSeconds("0.2:00:00") ortimeToSeconds("0.2::")
-
(again, the inputs are the same) it will be interpreted as 0.2 of one hour, so 720 seconds (3600 * 0.2 = 720 seconds).
Together:
- timeToSeconds("0.2:0.2:00") ortimeToSeconds("0.2:0.2:")
-
will return 732 seconds (0.2 of one hour is 720 seconds, 0.2 of one minute is 12 seconds; 720 + 12 = 732 seconds)
Note: passing decimals as seconds, e.g.: timeToSeconds("0:0:0.2"), will simply return 0.2 seconds.
You could calculate the value to convert and because of the non-strict format, pass the calcualted value to the function, e.g.:
`js${num.toString()}:
var num = Math.log10(100);
timeToSeconds();
// => 120
timeToSeconds(${Math.log10(100).toString()}:);``
// => 120
MIT