{"id":1365,"date":"2024-11-24T16:57:03","date_gmt":"2024-11-24T16:57:03","guid":{"rendered":"https:\/\/donhit.com\/en\/?p=1365"},"modified":"2025-02-07T09:07:32","modified_gmt":"2025-02-07T09:07:32","slug":"time-duration","status":"publish","type":"post","link":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/","title":{"rendered":"Time Duration Calculator"},"content":{"rendered":"<p><center><div class=\"calculator\">\r\n        <h2>Time Duration Calculator<\/h2>\r\n        \r\n        <div class=\"input-section\">\r\n            <div class=\"time-input\">\r\n                <h3>Start Time<\/h3>\r\n                <div class=\"input-group\">\r\n                    <input type=\"number\" id=\"startHours\" placeholder=\"Hours\" min=\"0\" max=\"23\">\r\n                    <input type=\"number\" id=\"startMinutes\" placeholder=\"Minutes\" min=\"0\" max=\"59\">\r\n                    <input type=\"number\" id=\"startSeconds\" placeholder=\"Seconds\" min=\"0\" max=\"59\">\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"time-input\">\r\n                <h3>End Time<\/h3>\r\n                <div class=\"input-group\">\r\n                    <input type=\"number\" id=\"endHours\" placeholder=\"Hours\" min=\"0\" max=\"23\">\r\n                    <input type=\"number\" id=\"endMinutes\" placeholder=\"Minutes\" min=\"0\" max=\"59\">\r\n                    <input type=\"number\" id=\"endSeconds\" placeholder=\"Seconds\" min=\"0\" max=\"59\">\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <button class=\"btn\" onclick=\"calculateDuration()\">Calculate Duration<\/button>\r\n\r\n        <div class=\"result\" id=\"result\">\r\n            <h2>Duration Result<\/h2>\r\n            <p id=\"totalTime\">--:--:--<\/p>\r\n            <p id=\"seconds\">Total Seconds: --<\/p>\r\n            <p id=\"minutes\">Total Minutes: --<\/p>\r\n            <p id=\"hours\">Total Hours: --<\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        function calculateDuration() {\r\n            \/\/ Get input values\r\n            const startHours = parseInt(document.getElementById('startHours').value) || 0;\r\n            const startMinutes = parseInt(document.getElementById('startMinutes').value) || 0;\r\n            const startSeconds = parseInt(document.getElementById('startSeconds').value) || 0;\r\n            const endHours = parseInt(document.getElementById('endHours').value) || 0;\r\n            const endMinutes = parseInt(document.getElementById('endMinutes').value) || 0;\r\n            const endSeconds = parseInt(document.getElementById('endSeconds').value) || 0;\r\n\r\n            \/\/ Validate input\r\n            if (!validateInput(startHours, startMinutes, startSeconds) || \r\n                !validateInput(endHours, endMinutes, endSeconds)) {\r\n                showError(\"Please enter valid time values\");\r\n                return;\r\n            }\r\n\r\n            \/\/ Convert to seconds\r\n            const startTimeInSeconds = startHours * 3600 + startMinutes * 60 + startSeconds;\r\n            const endTimeInSeconds = endHours * 3600 + endMinutes * 60 + endSeconds;\r\n\r\n            \/\/ Calculate difference\r\n            let diffInSeconds = endTimeInSeconds - startTimeInSeconds;\r\n            \r\n            \/\/ Handle negative duration (crossing midnight)\r\n            if (diffInSeconds < 0) {\r\n                diffInSeconds += 24 * 3600; \/\/ Add 24 hours in seconds\r\n            }\r\n\r\n            \/\/ Convert back to hours, minutes, seconds\r\n            const hours = Math.floor(diffInSeconds \/ 3600);\r\n            const minutes = Math.floor((diffInSeconds % 3600) \/ 60);\r\n            const seconds = diffInSeconds % 60;\r\n\r\n            \/\/ Display results\r\n            document.getElementById('totalTime').textContent = \r\n                `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`;\r\n            document.getElementById('seconds').textContent = \r\n                `Total Seconds: ${diffInSeconds}`;\r\n            document.getElementById('minutes').textContent = \r\n                `Total Minutes: ${(diffInSeconds \/ 60).toFixed(2)}`;\r\n            document.getElementById('hours').textContent = \r\n                `Total Hours: ${(diffInSeconds \/ 3600).toFixed(2)}`;\r\n\r\n            \/\/ Animate result\r\n            animateResult();\r\n        }\r\n\r\n        function validateInput(hours, minutes, seconds) {\r\n            return hours >= 0 && hours < 24 &&\r\n                   minutes >= 0 && minutes < 60 &&\r\n                   seconds >= 0 && seconds < 60;\r\n        }\r\n\r\n        function padZero(num) {\r\n            return num.toString().padStart(2, '0');\r\n        }\r\n\r\n        function showError(message) {\r\n            const result = document.getElementById('result');\r\n            const error = document.createElement('div');\r\n            error.className = 'error';\r\n            error.textContent = message;\r\n            \r\n            \/\/ Remove existing error messages\r\n            const existingError = result.querySelector('.error');\r\n            if (existingError) {\r\n                existingError.remove();\r\n            }\r\n            \r\n            result.appendChild(error);\r\n            \r\n            \/\/ Remove error after 3 seconds\r\n            setTimeout(() => {\r\n                error.remove();\r\n            }, 3000);\r\n        }\r\n\r\n        function animateResult() {\r\n            const result = document.getElementById('result');\r\n            result.style.animation = 'none';\r\n            result.offsetHeight; \/\/ Trigger reflow\r\n            result.style.animation = 'fadeIn 0.5s ease-out';\r\n        }\r\n\r\n        \/\/ Add input validation on input\r\n        document.querySelectorAll('input[type=\"number\"]').forEach(input => {\r\n            input.addEventListener('input', function() {\r\n                if (this.value < 0) this.value = 0;\r\n                if (this.id.includes('Hours') && this.value > 23) this.value = 23;\r\n                if ((this.id.includes('Minutes') || this.id.includes('Seconds')) && this.value > 59) this.value = 59;\r\n            });\r\n        });\r\n    <\/script><\/center>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[185],"tags":[],"class_list":["post-1365","post","type-post","status-publish","format-standard","hentry","category-time-calculators"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Time Duration Calculator - DonHit<\/title>\n<meta name=\"description\" content=\"A time duration calculator is an excellent resource for anyone looking to optimize their time management. Step-by-Step Guide to Using a Time Duration Calculator\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Time Duration Calculator - DonHit\" \/>\n<meta property=\"og:description\" content=\"A time duration calculator is an excellent resource for anyone looking to optimize their time management. Step-by-Step Guide to Using a Time Duration Calculator\" \/>\n<meta property=\"og:url\" content=\"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/\" \/>\n<meta property=\"og:site_name\" content=\"DonHit - World of Tools\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-24T16:57:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-07T09:07:32+00:00\" \/>\n<meta name=\"author\" content=\"DonHit\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DonHit\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Time Duration Calculator - DonHit","description":"A time duration calculator is an excellent resource for anyone looking to optimize their time management. Step-by-Step Guide to Using a Time Duration Calculator","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/","og_locale":"en_US","og_type":"article","og_title":"Time Duration Calculator - DonHit","og_description":"A time duration calculator is an excellent resource for anyone looking to optimize their time management. Step-by-Step Guide to Using a Time Duration Calculator","og_url":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/","og_site_name":"DonHit - World of Tools","article_published_time":"2024-11-24T16:57:03+00:00","article_modified_time":"2025-02-07T09:07:32+00:00","author":"DonHit","twitter_card":"summary_large_image","twitter_misc":{"Written by":"DonHit","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/#article","isPartOf":{"@id":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/"},"author":{"name":"DonHit","@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/0c6ff7dcd8ba4810c56a532f09c33148"},"headline":"Time Duration Calculator","datePublished":"2024-11-24T16:57:03+00:00","dateModified":"2025-02-07T09:07:32+00:00","mainEntityOfPage":{"@id":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/0c6ff7dcd8ba4810c56a532f09c33148"},"articleSection":["Time Calculators"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/donhit.com\/en\/time-calculators\/time-duration\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/","url":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/","name":"Time Duration Calculator - DonHit","isPartOf":{"@id":"https:\/\/donhit.com\/en\/#website"},"datePublished":"2024-11-24T16:57:03+00:00","dateModified":"2025-02-07T09:07:32+00:00","description":"A time duration calculator is an excellent resource for anyone looking to optimize their time management. Step-by-Step Guide to Using a Time Duration Calculator","breadcrumb":{"@id":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/donhit.com\/en\/time-calculators\/time-duration\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/donhit.com\/en\/time-calculators\/time-duration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Trang ch\u1ee7","item":"https:\/\/donhit.com\/en\/"},{"@type":"ListItem","position":2,"name":"Time Calculators","item":"https:\/\/donhit.com\/en\/category\/time-calculators\/"},{"@type":"ListItem","position":3,"name":"Time Duration Calculator"}]},{"@type":"WebSite","@id":"https:\/\/donhit.com\/en\/#website","url":"https:\/\/donhit.com\/en\/","name":"DonHit - World of tools","description":"","publisher":{"@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/0c6ff7dcd8ba4810c56a532f09c33148"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/donhit.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/0c6ff7dcd8ba4810c56a532f09c33148","name":"DonHit","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/image\/","url":"https:\/\/donhit.com\/en\/wp-content\/uploads\/2024\/11\/logo-donhit.webp","contentUrl":"https:\/\/donhit.com\/en\/wp-content\/uploads\/2024\/11\/logo-donhit.webp","width":400,"height":267,"caption":"DonHit"},"logo":{"@id":"https:\/\/donhit.com\/en\/#\/schema\/person\/image\/"},"description":"DonHit is a website designed to provide useful tools for everyone. Its primary goal is to support and empower the community. All the tools available on the site are completely free to use.","sameAs":["https:\/\/donhit.com\/en"],"url":"https:\/\/donhit.com\/en\/author\/admin_don\/"}]}},"_links":{"self":[{"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/posts\/1365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/comments?post=1365"}],"version-history":[{"count":5,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/posts\/1365\/revisions"}],"predecessor-version":[{"id":2157,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/posts\/1365\/revisions\/2157"}],"wp:attachment":[{"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/media?parent=1365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/categories?post=1365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/donhit.com\/en\/wp-json\/wp\/v2\/tags?post=1365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}