I have a custom date format like so:
new Date("02:56:12,80")
I started to parse out the hour, minute, second and milliseconds manually, but it's tedious and has a lot of code, probably error-prone. Is it possible to have a custom format to match this string to convert to seconds?
This is how I'm generating this format to start from seconds:
const formatTimeFromSeconds = (seconds) => {
dateObj = new Date(seconds * 1000);
hours = dateObj.getUTCHours();
minutes = dateObj.getUTCMinutes();
seconds = dateObj.getSeconds();
milliseconds = dateObj.getMilliseconds();
timeString =
hours.toString().padStart(2, "0") +
":" +
minutes.toString().padStart(2, "0") +
":" +
seconds.toString().padStart(2, "0") +
"," +
milliseconds.toString().padStart(2, "0");
return timeString;
};
Attempt:
const dateToSeconds = (time) => {
try {
const times = time.split(":")
const secondDelimit = times[2].split(".")
const secondsConversion = parseInt(secondDelimit[0])
const hoursToSeconds = parseInt(times[0]) * 60 * 60
const minutesToSeconds = parseInt(times[1]) * 60
const totalSeconds = minutesToSeconds + hoursToSeconds + secondsConversion
return `${totalSeconds}.${secondDelimit[1]}`
} catch (err) {
console.error(err)
}
}