
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
time-to-seconds
Advanced tools
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.
Pass time as a string, e.g.:
"h:m:s""m:s"":s""s""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.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("::")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.:
var num = Math.log10(100);
timeToSeconds(`${num.toString()}:`);
// => 120
timeToSeconds(`${Math.log10(100).toString()}:`);
// => 120
MIT
FAQs
Non-strict format, time to seconds converter
The npm package time-to-seconds receives a total of 181 weekly downloads. As such, time-to-seconds popularity was classified as not popular.
We found that time-to-seconds demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.