समय स्ट्रिंग को : से विभाजित करें, घंटे × 3600, मिनट × 60, सेकंड जोड़कर कुल सेकंड प्राप्त करें।
बुनियादी फंक्शन
function timeToSeconds(timeStr) {
const parts = timeStr.split(':').map(Number);
// parts: [hours, minutes, seconds]
const hours = parts[0] || 0;
const minutes = parts[1] || 0;
const seconds = parts[2] || 0;
return hours * 3600 + minutes * 60 + seconds;
}
// उपयोग
console.log(timeToSeconds('10:08:20')); // 36500
console.log(timeToSeconds('1:30:00')); // 5400
console.log(timeToSeconds('0:45:30')); // 2730
console.log(timeToSeconds('23:59:59')); // 86399
वन-लाइनर संस्करण
const toSeconds = t => t.split(':').reduce((acc, v, i) => acc + v * [3600, 60, 1][i], 0);
console.log(toSeconds('10:08:20')); // 36500
विभिन्न फॉर्मेट्स संभालें
function parseTimeFlexible(timeStr) {
const parts = timeStr.split(':').map(Number);
switch (parts.length) {
case 1: return parts[0]; // केवल सेकंड
case 2: return parts[0]*60 + parts[1]; // MM:SS
case 3: return parts[0]*3600 + parts[1]*60 + parts[2]; // HH:MM:SS
default: return 0;
}
}
console.log(parseTimeFlexible('30')); // 30 सेकंड
console.log(parseTimeFlexible('5:30')); // 330 सेकंड (5 मिनट 30 सेकंड)
console.log(parseTimeFlexible('1:05:30')); // 3930 सेकंड
सेकंड को वापस HH:MM:SS में बदलें
function secondsToTime(totalSeconds) {
const hours = Math.floor(totalSeconds / 3600);
const minutes = Math.floor((totalSeconds % 3600) / 60);
const seconds = totalSeconds % 60;
return [hours, minutes, seconds]
.map(v => String(v).padStart(2, '0'))
.join(':');
}
console.log(secondsToTime(36500)); // "10:08:20"
console.log(secondsToTime(5400)); // "01:30:00"
चलाने का तरीका
node time-conversion.js
आउटपुट
Total Seconds=36500
व्यावहारिक उपयोग: वीडियो/ऑडियो अवधि
// HTML5 वीडियो/ऑडियो से अवधि प्राप्त करें
const video = document.querySelector('video');
video.addEventListener('loadedmetadata', () => {
const duration = Math.floor(video.currentTime);
console.log(`अवधि: ${secondsToTime(duration)}`);
});
मान्यता (वैलिडेशन)
function isValidTime(timeStr) {
const regex = /^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/;
return regex.test(timeStr);
}
console.log(isValidTime('10:08:20')); // true
console.log(isValidTime('25:00:00')); // false
console.log(isValidTime('10:60:00')); // false