{"id":64,"date":"2024-12-10T14:34:55","date_gmt":"2024-12-10T13:34:55","guid":{"rendered":"https:\/\/www.fastercalculator.com\/pace-rechner\/"},"modified":"2024-12-11T12:53:20","modified_gmt":"2024-12-11T11:53:20","slug":"pace-rechner","status":"publish","type":"page","link":"https:\/\/www.fastercalculator.com\/de\/sport-rechner\/pace-rechner\/","title":{"rendered":"Pace Rechner"},"content":{"rendered":"\n <style>\r\n        body {\r\n            font-family: Arial, sans-serif;\r\n            margin: 20px auto;\r\n            padding: 20px;\r\n        }\r\n        .input-group {\r\n            margin-bottom: 15px;\r\n        }\r\n        .input-group input {\r\n            width: 60px;\r\n            padding: 5px;\r\n        }\r\n        .results {\r\n            margin-top: 20px;\r\n            padding: 15px;\r\n            background-color: #f5f5f5;\r\n            border-radius: 5px;\r\n        }\r\n        .button-group {\r\n            margin: 20px 0;\r\n        }\r\n        .calculate-btn {\r\n            background-color: #4CAF50;\r\n            color: white;\r\n            padding: 10px 20px;\r\n            border: none;\r\n            border-radius: 4px;\r\n            cursor: pointer;\r\n            font-size: 16px;\r\n        }\r\n        .calculate-btn:hover {\r\n            background-color: #45a049;\r\n        }\r\n        select, input {\r\n            padding: 5px;\r\n            margin: 2px;\r\n            border: 1px solid #ddd;\r\n            border-radius: 4px;\r\n        }\r\n        label {\r\n            display: inline-block;\r\n            width: 70px;\r\n        }\r\n    <\/style>\r\n\n<div class=\"input-group\">\r\n        <label for=\"unit\">Unit:<\/label>\r\n        <select id=\"unit\" onchange=\"updateInitialValues()\">\r\n            <option value=\"km\">Kilometers<\/option>\r\n            <option value=\"miles\">Miles<\/option>\r\n        <\/select>\r\n    <\/div>\r\n\r\n    <div class=\"input-group\">\r\n        <label for=\"distance\">Distance:<\/label>\r\n        <input type=\"number\" id=\"distance\" step=\"0.01\" min=\"0\" onchange=\"calculateFromDistance()\"\/>\r\n    <\/div>\r\n\r\n    <div class=\"input-group\">\r\n        <label for=\"timeHours\">Time:<\/label>\r\n        <input type=\"number\" id=\"timeHours\" min=\"0\" max=\"99\" placeholder=\"hh\" onchange=\"calculateFromTime()\"\/> :\r\n        <input type=\"number\" id=\"timeMinutes\" min=\"0\" max=\"59\" placeholder=\"mm\" onchange=\"calculateFromTime()\"\/> :\r\n        <input type=\"number\" id=\"timeSeconds\" min=\"0\" max=\"59\" placeholder=\"ss\" onchange=\"calculateFromTime()\"\/>\r\n    <\/div>\r\n\r\n    <div class=\"input-group\">\r\n        <label for=\"speed\">Speed:<\/label>\r\n        <input type=\"number\" id=\"speed\" step=\"0.1\" min=\"0\" onchange=\"calculateFromSpeed()\"\/>\r\n        <span id=\"speedUnit\">km\/h<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"input-group\">\r\n        <label for=\"paceMinutes\">Pace:<\/label>\r\n        <input type=\"number\" id=\"paceMinutes\" min=\"0\" max=\"59\" placeholder=\"min\" onchange=\"calculateFromPace()\"\/> :\r\n        <input type=\"number\" id=\"paceSeconds\" min=\"0\" max=\"59\" placeholder=\"sec\" onchange=\"calculateFromPace()\"\/>\r\n        <span id=\"paceUnit\">min\/km<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"button-group\">\r\n        <button class=\"calculate-btn\" onclick=\"calculateAll()\">Calculate<\/button>\r\n    <\/div>\r\n\n    <div class=\"results\">\r\n        <h3>Times for common distances:<\/h3>\r\n        <p>5K: <span id=\"5kResult\"><\/span><\/p>\r\n        <p>10K: <span id=\"10kResult\"><\/span><\/p>\r\n        <p>Half Marathon: <span id=\"halfmarathonResult\"><\/span><\/p>\r\n        <p>Marathon: <span id=\"marathonResult\"><\/span><\/p>\r\n    <\/div>\r\n\n <script>\r\n        \/\/ Text definitions for translations\r\n        const texts = {\r\n            title: \"Pace Rechner\",\r\n            distance: \"Distanz\",\r\n            pace: \"Pace\",\r\n            time: \"Zeit\",\r\n            calculate: \"Berechnen\",\r\n            unit: \"Einheit\",\r\n            kilometers: \"Kilometer\",\r\n            miles: \"Meilen\",\r\n            minutes: \"Minuten\",\r\n            seconds: \"Sekunden\",\r\n            hours: \"Stunden\",\r\n            speed: \"Geschwindigkeit\",\r\n            perKm: \"min\/km\",\r\n            perMile: \"min\/Meilen\",\r\n            speedKmH: \"km\/h\",\r\n            speedMpH: \"mph\",\r\n            commonDistances: \"Zeiten f\u00fcr \u00fcbliche Distanzen\",\r\n            fiveK: \"5K\",\r\n            tenK: \"10K\",\r\n            halfMarathon: \"Halb Marathon\",\r\n            marathon: \"Marathon\",\r\n            enterValidNumbers: \"Bitte gib richtige Zahlen ein\",\r\n            enterValidDistance: \"Bitte gib eine richtige Distanz ein\"\r\n        };\r\n\r\n        function initializeTexts() {\r\n            document.title = texts.title;\r\n            document.querySelector('h1').textContent = texts.title;\r\n            document.querySelector('label[for=\"unit\"]').textContent = texts.unit;\r\n            document.querySelector('label[for=\"distance\"]').textContent = texts.distance;\r\n            document.querySelector('label[for=\"timeHours\"]').textContent = texts.time;\r\n            document.querySelector('label[for=\"speed\"]').textContent = texts.speed;\r\n            document.querySelector('label[for=\"paceMinutes\"]').textContent = texts.pace;\r\n            document.querySelector('.calculate-btn').textContent = texts.calculate;\r\n            document.querySelector('.results h3').textContent = texts.commonDistances;\r\n            \r\n            const unitSelect = document.getElementById('unit');\r\n            unitSelect.options[0].textContent = texts.kilometers;\r\n            unitSelect.options[1].textContent = texts.miles;\r\n            \r\n            updateUnits();\r\n        }\r\n\r\n        function updateInitialValues() {\r\n            const unit = document.getElementById('unit').value;\r\n            if (unit === 'km') {\r\n                document.getElementById('distance').value = 10;\r\n                document.getElementById('timeHours').value = 0;\r\n                document.getElementById('timeMinutes').value = 50;\r\n                document.getElementById('timeSeconds').value = 0;\r\n            } else {\r\n                document.getElementById('distance').value = 5;\r\n                document.getElementById('timeHours').value = 0;\r\n                document.getElementById('timeMinutes').value = 40;\r\n                document.getElementById('timeSeconds').value = 0;\r\n            }\r\n            calculateAll();\r\n        }\r\n\r\n        function calculateAll() {\r\n            const distance = parseFloat(document.getElementById('distance').value) || 0;\r\n            const hours = parseInt(document.getElementById('timeHours').value) || 0;\r\n            const minutes = parseInt(document.getElementById('timeMinutes').value) || 0;\r\n            const seconds = parseInt(document.getElementById('timeSeconds').value) || 0;\r\n            \r\n            if (distance <= 0) {\r\n                alert(texts.enterValidDistance);\r\n                return;\r\n            }\r\n\r\n            const totalSeconds = (hours * 3600) + (minutes * 60) + seconds;\r\n            const paceInSeconds = Math.round(totalSeconds \/ distance);\r\n            \r\n            updatePaceFields(paceInSeconds);\r\n            updateSpeedField();\r\n            calculateCommonDistances();\r\n        }\r\n\r\n        function calculateFromDistance() {\r\n            const distance = parseFloat(document.getElementById('distance').value) || 0;\r\n            const paceMinutes = parseInt(document.getElementById('paceMinutes').value) || 0;\r\n            const paceSeconds = parseInt(document.getElementById('paceSeconds').value) || 0;\r\n            \r\n            const paceInSeconds = (paceMinutes * 60) + paceSeconds;\r\n            const totalSeconds = Math.round(distance * paceInSeconds);\r\n            \r\n            updateTimeFields(totalSeconds);\r\n            updateSpeedField();\r\n            calculateCommonDistances();\r\n        }\r\n\r\n        function calculateFromTime() {\r\n            const hours = parseInt(document.getElementById('timeHours').value) || 0;\r\n            const minutes = parseInt(document.getElementById('timeMinutes').value) || 0;\r\n            const seconds = parseInt(document.getElementById('timeSeconds').value) || 0;\r\n            const distance = parseFloat(document.getElementById('distance').value) || 0;\r\n            \r\n            if (distance <= 0) return;\r\n            \r\n            const totalSeconds = (hours * 3600) + (minutes * 60) + seconds;\r\n            const paceInSeconds = Math.round(totalSeconds \/ distance);\r\n            \r\n            updatePaceFields(paceInSeconds);\r\n            updateSpeedField();\r\n            calculateCommonDistances();\r\n        }\r\n\r\n        function calculateFromSpeed() {\r\n            const speed = parseFloat(document.getElementById('speed').value) || 0;\r\n            const distance = parseFloat(document.getElementById('distance').value) || 0;\r\n            \r\n            if (speed <= 0 || distance <= 0) return;\r\n            \r\n            const timeInHours = distance \/ speed;\r\n            const totalSeconds = Math.round(timeInHours * 3600);\r\n            \r\n            updateTimeFields(totalSeconds);\r\n            updatePaceFields(Math.round(3600 \/ speed));\r\n            calculateCommonDistances();\r\n        }\r\n\r\n        function calculateFromPace() {\r\n            const paceMinutes = parseInt(document.getElementById('paceMinutes').value) || 0;\r\n            const paceSeconds = parseInt(document.getElementById('paceSeconds').value) || 0;\r\n            const distance = parseFloat(document.getElementById('distance').value) || 0;\r\n            \r\n            if (distance <= 0) return;\r\n            \r\n            const paceInSeconds = (paceMinutes * 60) + paceSeconds;\r\n            const totalSeconds = Math.round(distance * paceInSeconds);\r\n            \r\n            updateTimeFields(totalSeconds);\r\n            updateSpeedField();\r\n            calculateCommonDistances();\r\n        }\r\n\r\n        function updateTimeFields(totalSeconds) {\r\n            const hours = Math.floor(totalSeconds \/ 3600);\r\n            const minutes = Math.floor((totalSeconds % 3600) \/ 60);\r\n            const seconds = Math.floor(totalSeconds % 60);\r\n            \r\n            document.getElementById('timeHours').value = hours;\r\n            document.getElementById('timeMinutes').value = minutes;\r\n            document.getElementById('timeSeconds').value = seconds;\r\n        }\r\n\r\n        function updatePaceFields(paceInSeconds) {\r\n            const paceMinutes = Math.floor(paceInSeconds \/ 60);\r\n            const paceSeconds = Math.floor(paceInSeconds % 60);\r\n            \r\n            document.getElementById('paceMinutes').value = paceMinutes;\r\n            document.getElementById('paceSeconds').value = paceSeconds;\r\n        }\r\n\r\n        function updateSpeedField() {\r\n            const distance = parseFloat(document.getElementById('distance').value) || 0;\r\n            const hours = parseInt(document.getElementById('timeHours').value) || 0;\r\n            const minutes = parseInt(document.getElementById('timeMinutes').value) || 0;\r\n            const seconds = parseInt(document.getElementById('timeSeconds').value) || 0;\r\n            \r\n            const totalHours = hours + (minutes \/ 60) + (seconds \/ 3600);\r\n            const speed = distance \/ totalHours;\r\n            \r\n            document.getElementById('speed').value = speed.toFixed(2);\r\n        }\r\n\r\n        function calculateCommonDistances() {\r\n            const paceMinutes = parseInt(document.getElementById('paceMinutes').value) || 0;\r\n            const paceSeconds = parseInt(document.getElementById('paceSeconds').value) || 0;\r\n            const unit = document.getElementById('unit').value;\r\n            const paceInSeconds = (paceMinutes * 60) + paceSeconds;\r\n\r\n            const distances = {\r\n                '5K': unit === 'km' ? 5 : 3.10686,\r\n                '10K': unit === 'km' ? 10 : 6.21371,\r\n                'Half Marathon': unit === 'km' ? 21.0975 : 13.1094,\r\n                'Marathon': unit === 'km' ? 42.195 : 26.2188\r\n            };\r\n\r\n            for (const [name, dist] of Object.entries(distances)) {\r\n                const totalSeconds = Math.round(dist * paceInSeconds);\r\n                const elementId = name.toLowerCase().replace(\/\\s+\/g, '') + 'Result';\r\n                displayTime(totalSeconds, elementId);\r\n            }\r\n        }\r\n\r\n        function displayTime(totalSeconds, elementId) {\r\n            const hours = Math.floor(totalSeconds \/ 3600);\r\n            const minutes = Math.floor((totalSeconds % 3600) \/ 60);\r\n            const seconds = Math.floor(totalSeconds % 60);\r\n\r\n            let timeString = '';\r\n            if (hours > 0) {\r\n                timeString += `${hours}:${minutes.toString().padStart(2, '0')}:`;\r\n            } else {\r\n                timeString += `${minutes}:`;\r\n            }\r\n            timeString += seconds.toString().padStart(2, '0');\r\n\r\n            document.getElementById(elementId).textContent = timeString;\r\n        }\r\n\r\n        function updateUnits() {\r\n            const isKm = document.getElementById('unit').value === 'km';\r\n            document.getElementById('paceUnit').textContent = isKm ? texts.perKm : texts.perMile;\r\n            document.getElementById('speedUnit').textContent = isKm ? texts.speedKmH : texts.speedMpH;\r\n        }\r\n\r\n        document.getElementById('unit').addEventListener('change', function() {\r\n            updateUnits();\r\n            updateInitialValues();\r\n        });\r\n\r\n        \/\/ Initialize with default values\r\n        window.onload = function() {\r\n            initializeTexts();\r\n            updateInitialValues();\r\n        };\r\n    <\/script>\r\n","protected":false},"excerpt":{"rendered":"<p>Unit: KilometersMiles Distance: Time: : : Speed: km\/h Pace: : min\/km Calculate Times for common distances: 5K: 10K: Half Marathon: Marathon:<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":72,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-64","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/pages\/64","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/comments?post=64"}],"version-history":[{"count":5,"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/pages\/64\/revisions"}],"predecessor-version":[{"id":74,"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/pages\/64\/revisions\/74"}],"up":[{"embeddable":true,"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/pages\/72"}],"wp:attachment":[{"href":"https:\/\/www.fastercalculator.com\/de\/wp-json\/wp\/v2\/media?parent=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}