Launch Week Day 1: Socket for Jira Is Now Available.Learn More
Socket
Book a DemoSign in
Socket

time-to-seconds

Package Overview
Dependencies
Maintainers
1
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

time-to-seconds

Non-strict format, time to seconds converter

latest
Source
npmnpm
Version
2.1.2
Version published
Weekly downloads
187
59.83%
Maintainers
1
Weekly downloads
 
Created
Source

time-to-seconds

Node.js CI codecov CodeFactor NPM Version npm install size npms.io (maintenance) npms.io (quality) npms.io (popularity) npms.io (final) semantic-release: angular NPM

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.

Documentation

Usage

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.

Examples

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

Empty Strings

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("::")

Error Handling

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.'

Decimal Numbers

If you pass decimals to the function, e.g.:

  • timeToSeconds("0.2:00") or
  • timeToSeconds("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") or
  • timeToSeconds("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") or
  • timeToSeconds("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.

Math

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

License

MIT

Keywords

time

FAQs

Package last updated on 28 Aug 2023

Did you know?

Socket

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.

Install

Related posts