Files
nexus-timer/src/utils/timeFormatter.js
2025-05-07 23:57:53 +02:00

32 lines
1.0 KiB
JavaScript

export function formatTime(totalSeconds) {
const isNegative = totalSeconds < 0;
if (isNegative) {
totalSeconds = -totalSeconds;
}
const minutes = Math.floor(totalSeconds / 60);
const seconds = totalSeconds % 60;
const paddedMinutes = String(minutes).padStart(2, '0');
const paddedSeconds = String(seconds).padStart(2, '0');
return `${isNegative ? '-' : ''}${paddedMinutes}:${paddedSeconds}`;
}
export function parseTime(timeString) { // MM:SS or -MM:SS
if (!timeString || typeof timeString !== 'string') return 0;
const isNegative = timeString.startsWith('-');
if (isNegative) {
timeString = timeString.substring(1);
}
const parts = timeString.split(':');
if (parts.length !== 2) return 0;
const minutes = parseInt(parts[0], 10);
const seconds = parseInt(parts[1], 10);
if (isNaN(minutes) || isNaN(seconds)) return 0;
let totalSeconds = (minutes * 60) + seconds;
return isNegative ? -totalSeconds : totalSeconds;
}