{"id":253,"date":"2025-07-02T02:03:41","date_gmt":"2025-07-02T00:03:41","guid":{"rendered":"https:\/\/festivos.cl\/?page_id=253"},"modified":"2025-07-02T02:12:15","modified_gmt":"2025-07-02T00:12:15","slug":"tu-vida-en-semanas","status":"publish","type":"page","link":"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/","title":{"rendered":"Tu vida en Semanas"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>La vida en semanas<\/title>\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n        \n        body {\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n            background-color: #f9fafb;\n            line-height: 1.6;\n        }\n        \n        .container {\n            min-height: 100vh;\n            padding: 24px;\n            padding-top: 64px;\n        }\n        \n        .max-w-md {\n            max-width: 28rem;\n            margin: 0 auto;\n        }\n        \n        .title {\n            font-size: 1.5rem;\n            font-weight: 400;\n            color: #1f2937;\n            margin-bottom: 8px;\n        }\n        \n        .subtitle {\n            color: #374151;\n            margin-bottom: 32px;\n        }\n        \n        .card {\n            background-color: white;\n            padding: 24px;\n            border-radius: 6px;\n            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);\n            margin-bottom: 24px;\n        }\n        \n        .card-title {\n            font-size: 1.125rem;\n            font-weight: 400;\n            color: #1f2937;\n            margin-bottom: 16px;\n        }\n        \n        .input-field {\n            width: 100%;\n            padding: 12px;\n            border: 1px solid #d1d5db;\n            border-radius: 6px;\n            margin-bottom: 16px;\n            color: #1f2937;\n            font-size: 16px;\n            font-family: inherit;\n        }\n        \n        .input-field:focus {\n            outline: none;\n            border-color: #3b82f6;\n            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);\n        }\n        \n        .input-field.error {\n            border-color: #ef4444;\n            box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n        }\n        \n        .date-helper {\n            font-size: 0.875rem;\n            color: #6b7280;\n            margin-top: -12px;\n            margin-bottom: 16px;\n            font-style: italic;\n        }\n        \n        .error-message {\n            font-size: 0.875rem;\n            color: #ef4444;\n            margin-top: -12px;\n            margin-bottom: 16px;\n        }\n        \n        .btn-primary {\n            width: 100%;\n            background-color: #1f2937;\n            color: white;\n            padding: 8px;\n            border-radius: 6px;\n            border: none;\n            cursor: pointer;\n            transition: background-color 0.2s;\n            font-size: 16px;\n        }\n        \n        .btn-primary:hover:not(:disabled) {\n            background-color: #374151;\n        }\n        \n        .btn-primary:disabled {\n            opacity: 0.5;\n            cursor: not-allowed;\n        }\n        \n        .btn-secondary {\n            width: 100%;\n            background-color: #e5e7eb;\n            color: #1f2937;\n            padding: 8px;\n            border-radius: 6px;\n            border: none;\n            cursor: pointer;\n            transition: background-color 0.2s;\n            margin-top: 32px;\n            font-size: 16px;\n        }\n        \n        .btn-secondary:hover {\n            background-color: #d1d5db;\n        }\n        \n        .week-grid {\n            margin-top: 32px;\n        }\n        \n        .week-row {\n            display: flex;\n        }\n        \n        .week-cell {\n            width: 8px;\n            height: 8px;\n            margin: 2px;\n            border-radius: 2px;\n            transition: all 0.2s;\n            cursor: pointer;\n        }\n        \n        .week-past {\n            background-color: #1f2937;\n        }\n        \n        .week-current {\n            background-color: #3b82f6;\n            animation: pulse 2s infinite;\n        }\n        \n        .week-future {\n            background-color: #e5e7eb;\n        }\n        \n        .week-birthday {\n            background-color: #ef4444;\n        }\n        \n        @keyframes pulse {\n            0%, 100% {\n                opacity: 1;\n            }\n            50% {\n                opacity: 0.5;\n            }\n        }\n        \n        .hover-info {\n            margin-top: 16px;\n            font-size: 0.875rem;\n            color: #6b7280;\n        }\n        \n        .legend {\n            display: flex;\n            margin-top: 24px;\n            font-size: 0.875rem;\n            flex-wrap: wrap;\n        }\n        \n        .legend-item {\n            display: flex;\n            align-items: center;\n            margin-right: 16px;\n            margin-bottom: 8px;\n        }\n        \n        .legend-color {\n            width: 12px;\n            height: 12px;\n            margin-right: 8px;\n        }\n        \n        .legend-text {\n            color: #6b7280;\n        }\n        \n        .stats-section {\n            margin-top: 32px;\n            display: flex;\n            flex-direction: column;\n            gap: 24px;\n        }\n        \n        .stat-text {\n            color: #6b7280;\n            margin-bottom: 16px;\n        }\n        \n        .stat-highlight {\n            color: #1f2937;\n            font-weight: 500;\n        }\n        \n        .hidden {\n            display: none;\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <div class=\"max-w-md\">\n            <h1 class=\"title\">La vida en semanas<\/h1>\n            <p class=\"subtitle\">Una visualizaci\u00f3n simple para reflexionar sobre el paso del tiempo<\/p>\n            \n            <!-- Step 1: Input Form -->\n            <div id=\"step1\" class=\"card\">\n                <h2 class=\"card-title\">Ingresa una fecha de nacimiento<\/h2>\n                <div>\n                    <input type=\"text\" id=\"birthdate\" class=\"input-field\" placeholder=\"d\u00eda\/mes\/a\u00f1o\" maxlength=\"10\" required>\n                    <div class=\"date-helper\">Formato: d\u00eda\/mes\/a\u00f1o (ejemplo: 21\/10\/1973)<\/div>\n                    <button id=\"visualizeBtn\" class=\"btn-primary\" onclick=\"handleSubmit()\">\n                        Visualizar tu tiempo\n                    <\/button>\n                <\/div>\n            <\/div>\n            \n            <!-- Step 2: Visualization -->\n            <div id=\"step2\" class=\"hidden\">\n                <!-- Week Grid -->\n                <div id=\"weekGrid\" class=\"card\">\n                    <h2 class=\"card-title\">Tu vida en semanas<\/h2>\n                    <div id=\"gridContainer\"><\/div>\n                    <div id=\"hoverInfo\" class=\"hover-info hidden\"><\/div>\n                    \n                    <div class=\"legend\">\n                        <div class=\"legend-item\">\n                            <div class=\"legend-color week-past\"><\/div>\n                            <span class=\"legend-text\">Pasado<\/span>\n                        <\/div>\n                        <div class=\"legend-item\">\n                            <div class=\"legend-color week-current\"><\/div>\n                            <span class=\"legend-text\">Presente<\/span>\n                        <\/div>\n                        <div class=\"legend-item\">\n                            <div class=\"legend-color week-future\"><\/div>\n                            <span class=\"legend-text\">Futuro<\/span>\n                        <\/div>\n                        <div class=\"legend-item\">\n                            <div class=\"legend-color week-birthday\"><\/div>\n                            <span class=\"legend-text\">Cumplea\u00f1os<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n                \n                <!-- Stats Sections -->\n                <div id=\"statsContainer\" class=\"stats-section\"><\/div>\n                \n                <button class=\"btn-secondary\" onclick=\"handleReset()\">\n                    Empezar de nuevo\n                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        \/\/ Global variables\n        let currentStats = null;\n        \n        \/\/ Utility functions\n        function getFormattedNumber(num) {\n            return new Intl.NumberFormat('es-ES').format(num);\n        }\n        \n        function calculateStats(dateString) {\n            \/\/ Parse DD\/MM\/YYYY format\n            const parts = dateString.split('\/');\n            if (parts.length !== 3) return null;\n            \n            const day = parseInt(parts[0], 10);\n            const month = parseInt(parts[1], 10) - 1; \/\/ Month is 0-indexed in Date\n            const year = parseInt(parts[2], 10);\n            \n            const birthDate = new Date(year, month, day);\n            const today = new Date();\n            const birthYear = birthDate.getFullYear();\n            \n            \/\/ Calculate weeks lived\n            const msInWeek = 1000 * 60 * 60 * 24 * 7;\n            const weeksLived = Math.floor((today - birthDate) \/ msInWeek);\n            \n            \/\/ Assuming average lifespan of ~82 years for Chile (4264 weeks)\n            const totalWeeks = 4264;\n            const weeksRemaining = totalWeeks - weeksLived;\n            const percentageLived = Math.round((weeksLived \/ totalWeeks) * 100);\n            \n            \/\/ Calculate birthday weeks\n            const birthdayWeeks = [];\n            const currentYear = today.getFullYear();\n            \n            for (let year = birthYear; year <= currentYear; year++) {\n                const birthdayThisYear = new Date(year, month, day);\n                if (birthdayThisYear <= today) {\n                    const weeksSinceBirth = Math.floor((birthdayThisYear - birthDate) \/ msInWeek);\n                    if (weeksSinceBirth >= 0) {\n                        birthdayWeeks.push(weeksSinceBirth);\n                    }\n                }\n            }\n            \n            \/\/ Calculate days lived\n            const msInDay = 1000 * 60 * 60 * 24;\n            const daysLived = Math.floor((today - birthDate) \/ msInDay);\n            \n            \/\/ Calculate other stats\n            const hoursSlept = Math.floor(daysLived * 8);\n            const heartbeats = Math.floor(daysLived * 24 * 60 * 70);\n            const breaths = Math.floor(daysLived * 24 * 60 * 16);\n            const seasons = Math.floor(daysLived \/ 91.25);\n            \n            return {\n                weeksLived,\n                totalWeeks,\n                weeksRemaining,\n                percentageLived,\n                daysLived,\n                hoursSlept,\n                heartbeats,\n                breaths,\n                seasons,\n                birthYear,\n                birthdayWeeks\n            };\n        }\n        \n        function getPopulationAtYear(year) {\n            const populationData = {\n                1950: 2.5, 1960: 3.0, 1970: 3.7, 1980: 4.4,\n                1990: 5.3, 2000: 6.1, 2010: 6.9, 2020: 7.8, 2025: 8.1\n            };\n            \n            const years = Object.keys(populationData).map(Number);\n            const closestYear = years.reduce((prev, curr) => \n                Math.abs(curr - year) < Math.abs(prev - year) ? curr : prev\n            );\n            \n            return Math.round(populationData[closestYear] * 1000000000);\n        }\n        \n        function renderWeekGrid() {\n            const gridContainer = document.getElementById('gridContainer');\n            gridContainer.innerHTML = '';\n            \n            const weeksPerRow = 52;\n            const totalRows = Math.ceil(currentStats.totalWeeks \/ weeksPerRow);\n            \n            for (let row = 0; row < totalRows; row++) {\n                const rowElement = document.createElement('div');\n                rowElement.className = 'week-row';\n                \n                for (let col = 0; col < weeksPerRow; col++) {\n                    const weekNumber = row * weeksPerRow + col;\n                    if (weekNumber < currentStats.totalWeeks) {\n                        const isPast = weekNumber < currentStats.weeksLived;\n                        const isCurrent = weekNumber === currentStats.weeksLived;\n                        const isBirthday = currentStats.birthdayWeeks.includes(weekNumber);\n                        \n                        const cellElement = document.createElement('div');\n                        cellElement.className = 'week-cell';\n                        \n                        if (isBirthday) {\n                            cellElement.classList.add('week-birthday');\n                        } else if (isPast) {\n                            cellElement.classList.add('week-past');\n                        } else if (isCurrent) {\n                            cellElement.classList.add('week-current');\n                        } else {\n                            cellElement.classList.add('week-future');\n                        }\n                        \n                        cellElement.addEventListener('mouseenter', () => showHoverInfo(weekNumber));\n                        cellElement.addEventListener('mouseleave', hideHoverInfo);\n                        \n                        rowElement.appendChild(cellElement);\n                    }\n                }\n                \n                gridContainer.appendChild(rowElement);\n            }\n        }\n        \n        function showHoverInfo(weekNumber) {\n            const hoverInfo = document.getElementById('hoverInfo');\n            hoverInfo.classList.remove('hidden');\n            \n            let message = `Semana ${weekNumber + 1}: `;\n            \n            if (currentStats.birthdayWeeks.includes(weekNumber)) {\n                message += '\u00a1Tu cumplea\u00f1os!';\n            } else if (weekNumber < currentStats.weeksLived) {\n                message += 'Una semana de tu pasado';\n            } else if (weekNumber === currentStats.weeksLived) {\n                message += 'Tu semana actual';\n            } else {\n                message += 'Una semana en tu futuro potencial';\n            }\n            \n            hoverInfo.textContent = message;\n        }\n        \n        function hideHoverInfo() {\n            const hoverInfo = document.getElementById('hoverInfo');\n            hoverInfo.classList.add('hidden');\n        }\n        \n        function renderStats() {\n            const statsContainer = document.getElementById('statsContainer');\n            \n            const statsHTML = `\n                <div class=\"card\">\n                    <h2 class=\"card-title\">Aspectos destacados de la vida<\/h2>\n                    <div>\n                        <p class=\"stat-text\">\n                            Has vivido <span class=\"stat-highlight\">${getFormattedNumber(currentStats.weeksLived)}<\/span> semanas, que es el <span class=\"stat-highlight\">${currentStats.percentageLived}%<\/span> de una vida completa.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            Eso son <span class=\"stat-highlight\">${getFormattedNumber(currentStats.daysLived)}<\/span> d\u00edas de experiencia y aproximadamente <span class=\"stat-highlight\">${getFormattedNumber(currentStats.seasons)}<\/span> estaciones observadas.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            Tu coraz\u00f3n ha latido aproximadamente <span class=\"stat-highlight\">${getFormattedNumber(currentStats.heartbeats)}<\/span> veces.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            Has tomado alrededor de <span class=\"stat-highlight\">${getFormattedNumber(currentStats.breaths)}<\/span> respiraciones y has dormido aproximadamente <span class=\"stat-highlight\">${getFormattedNumber(currentStats.hoursSlept)}<\/span> horas.\n                        <\/p>\n                    <\/div>\n                <\/div>\n                \n                <div class=\"card\">\n                    <h2 class=\"card-title\">Contexto social<\/h2>\n                    <div>\n                        <p class=\"stat-text\">\n                            Durante tu vida, la poblaci\u00f3n de la humanidad ha crecido de ${currentStats.birthYear ? `<span class=\"stat-highlight\">${getFormattedNumber(getPopulationAtYear(currentStats.birthYear))}<\/span>` : \"\"} a m\u00e1s de <span class=\"stat-highlight\">8<\/span> mil millones de personas.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            La persona promedio conocer\u00e1 alrededor de <span class=\"stat-highlight\">80,000<\/span> personas en su vida. Probablemente ya has conocido aproximadamente <span class=\"stat-highlight\">${getFormattedNumber(Math.round(80000 * (currentStats.percentageLived\/100)))}<\/span> individuos.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            Desde tu nacimiento, la humanidad ha experimentado colectivamente aproximadamente <span class=\"stat-highlight\">${getFormattedNumber(Math.round(currentStats.daysLived * 385000))}<\/span> nacimientos y <span class=\"stat-highlight\">${getFormattedNumber(Math.round(currentStats.daysLived * 166000))}<\/span> muertes.\n                        <\/p>\n                    <\/div>\n                <\/div>\n                \n                <div class=\"card\">\n                    <h2 class=\"card-title\">Perspectiva c\u00f3smica<\/h2>\n                    <div>\n                        <p class=\"stat-text\">\n                            Desde tu nacimiento, la Tierra ha viajado aproximadamente <span class=\"stat-highlight\">${getFormattedNumber(Math.round(currentStats.daysLived * 1.6 * 1000000))}<\/span> kil\u00f3metros a trav\u00e9s del espacio alrededor del Sol.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            El universo observable tiene aproximadamente <span class=\"stat-highlight\">93<\/span> mil millones de a\u00f1os luz de di\u00e1metro, lo que significa que la luz tarda <span class=\"stat-highlight\">93<\/span> mil millones de a\u00f1os en cruzarlo. Toda tu vida es solo el <span class=\"stat-highlight\">${(82\/13800000000 * 100).toFixed(10)}%<\/span> de la edad del universo.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            Durante tu vida, nuestro sistema solar se ha movido aproximadamente <span class=\"stat-highlight\">${getFormattedNumber(Math.round(currentStats.daysLived * 24 * 828000))}<\/span> kil\u00f3metros a trav\u00e9s de la galaxia V\u00eda L\u00e1ctea.\n                        <\/p>\n                    <\/div>\n                <\/div>\n                \n                <div class=\"card\">\n                    <h2 class=\"card-title\">Mundo natural<\/h2>\n                    <div>\n                        <p class=\"stat-text\">\n                            Has experimentado aproximadamente <span class=\"stat-highlight\">${getFormattedNumber(Math.round(currentStats.daysLived \/ 29.53))}<\/span> ciclos lunares y <span class=\"stat-highlight\">${getFormattedNumber(Math.floor(currentStats.daysLived \/ 365.25))}<\/span> viajes alrededor del Sol.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            Una secuoya gigante puede vivir m\u00e1s de 3,000 a\u00f1os. Tu edad actual es el <span class=\"stat-highlight\">${((currentStats.daysLived \/ 365.25) \/ 3000 * 100).toFixed(2)}%<\/span> de su vida potencial.\n                        <\/p>\n                        <p class=\"stat-text\">\n                            Durante tu vida, tu cuerpo ha reemplazado la mayor\u00eda de sus c\u00e9lulas varias veces. No est\u00e1s hecho de los mismos \u00e1tomos con los que naciste.\n                        <\/p>\n                    <\/div>\n                <\/div>\n            `;\n            \n            statsContainer.innerHTML = statsHTML;\n        }\n        \n        function validateDate(dateString) {\n            \/\/ Check format DD\/MM\/YYYY\n            const dateRegex = \/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})$\/;\n            const match = dateString.match(dateRegex);\n            \n            if (!match) return false;\n            \n            const day = parseInt(match[1], 10);\n            const month = parseInt(match[2], 10);\n            const year = parseInt(match[3], 10);\n            \n            \/\/ Basic validation\n            if (month < 1 || month > 12) return false;\n            if (day < 1 || day > 31) return false;\n            if (year < 1900 || year > new Date().getFullYear()) return false;\n            \n            \/\/ Create date and check if it's valid\n            const date = new Date(year, month - 1, day);\n            return date.getFullYear() === year && \n                   date.getMonth() === month - 1 && \n                   date.getDate() === day;\n        }\n        \n        function showError(message) {\n            \/\/ Remove existing error\n            const existingError = document.querySelector('.error-message');\n            if (existingError) existingError.remove();\n            \n            \/\/ Add error class to input\n            const input = document.getElementById('birthdate');\n            input.classList.add('error');\n            \n            \/\/ Create error message\n            const errorDiv = document.createElement('div');\n            errorDiv.className = 'error-message';\n            errorDiv.textContent = message;\n            \n            \/\/ Insert after input\n            input.parentNode.insertBefore(errorDiv, input.nextSibling);\n        }\n        \n        function clearError() {\n            const input = document.getElementById('birthdate');\n            input.classList.remove('error');\n            \n            const error = document.querySelector('.error-message');\n            if (error) error.remove();\n        }\n        \n        function handleSubmit() {\n            const birthdate = document.getElementById('birthdate').value.trim();\n            \n            clearError();\n            \n            if (!birthdate) {\n                showError('Por favor ingresa tu fecha de nacimiento');\n                return;\n            }\n            \n            if (!validateDate(birthdate)) {\n                showError('Formato incorrecto. Usa: d\u00eda\/mes\/a\u00f1o (ejemplo: 21\/10\/1973)');\n                return;\n            }\n            \n            currentStats = calculateStats(birthdate);\n            \n            if (!currentStats) {\n                showError('Error al procesar la fecha. Verifica el formato.');\n                return;\n            }\n            \n            document.getElementById('step1').classList.add('hidden');\n            document.getElementById('step2').classList.remove('hidden');\n            \n            renderWeekGrid();\n            renderStats();\n        }\n        \n        function handleReset() {\n            document.getElementById('birthdate').value = '';\n            clearError();\n            currentStats = null;\n            document.getElementById('step1').classList.remove('hidden');\n            document.getElementById('step2').classList.add('hidden');\n        }\n        \n        function formatDateInput(input) {\n            \/\/ Remove all non-digits\n            let value = input.value.replace(\/\\D\/g, '');\n            \n            \/\/ Add slashes automatically\n            if (value.length >= 2) {\n                value = value.substring(0, 2) + '\/' + value.substring(2);\n            }\n            if (value.length >= 5) {\n                value = value.substring(0, 5) + '\/' + value.substring(5);\n            }\n            \n            \/\/ Limit to 10 characters (DD\/MM\/YYYY)\n            if (value.length > 10) {\n                value = value.substring(0, 10);\n            }\n            \n            input.value = value;\n        }\n        \n        \/\/ Event listeners\n        document.addEventListener('DOMContentLoaded', function() {\n            const dateInput = document.getElementById('birthdate');\n            const submitBtn = document.getElementById('visualizeBtn');\n            \n            \/\/ Auto-format date input\n            dateInput.addEventListener('input', function() {\n                formatDateInput(this);\n                clearError();\n                \n                \/\/ Enable\/disable button\n                submitBtn.disabled = this.value.length < 10;\n            });\n            \n            \/\/ Allow Enter key to submit\n            dateInput.addEventListener('keypress', function(e) {\n                if (e.key === 'Enter' &#038;&#038; this.value.length === 10) {\n                    handleSubmit();\n                }\n            });\n            \n            \/\/ Initialize button state\n            submitBtn.disabled = true;\n        });\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>La vida en semanas La vida en semanas Una visualizaci\u00f3n simple para reflexionar sobre el paso del tiempo Ingresa una fecha de nacimiento Formato: d\u00eda\/mes\/a\u00f1o (ejemplo: 21\/10\/1973) Visualizar tu tiempo Tu vida en semanas Pasado Presente Futuro Cumplea\u00f1os Empezar de nuevo<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-253","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tu vida en Semanas -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tu vida en Semanas -\" \/>\n<meta property=\"og:description\" content=\"La vida en semanas La vida en semanas Una visualizaci\u00f3n simple para reflexionar sobre el paso del tiempo Ingresa una fecha de nacimiento Formato: d\u00eda\/mes\/a\u00f1o (ejemplo: 21\/10\/1973) Visualizar tu tiempo Tu vida en semanas Pasado Presente Futuro Cumplea\u00f1os Empezar de nuevo\" \/>\n<meta property=\"og:url\" content=\"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-02T00:12:15+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/\",\"url\":\"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/\",\"name\":\"Tu vida en Semanas -\",\"isPartOf\":{\"@id\":\"https:\/\/festivos.cl\/#website\"},\"datePublished\":\"2025-07-02T00:03:41+00:00\",\"dateModified\":\"2025-07-02T00:12:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/festivos.cl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tu vida en Semanas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/festivos.cl\/#website\",\"url\":\"https:\/\/festivos.cl\/\",\"name\":\"Feriados y festivos en Chile\",\"description\":\"Todos los feriados de Chile en sitio interactivo\",\"publisher\":{\"@id\":\"https:\/\/festivos.cl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/festivos.cl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/festivos.cl\/#organization\",\"name\":\"Festivos.cl\",\"url\":\"https:\/\/festivos.cl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/festivos.cl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/festivos.cl\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-18-may-2025-09_16_40-p.m.png\",\"contentUrl\":\"https:\/\/festivos.cl\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-18-may-2025-09_16_40-p.m.png\",\"width\":1024,\"height\":1024,\"caption\":\"Festivos.cl\"},\"image\":{\"@id\":\"https:\/\/festivos.cl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/instagram.com\/festivosdechile\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tu vida en Semanas -","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:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/","og_locale":"en_US","og_type":"article","og_title":"Tu vida en Semanas -","og_description":"La vida en semanas La vida en semanas Una visualizaci\u00f3n simple para reflexionar sobre el paso del tiempo Ingresa una fecha de nacimiento Formato: d\u00eda\/mes\/a\u00f1o (ejemplo: 21\/10\/1973) Visualizar tu tiempo Tu vida en semanas Pasado Presente Futuro Cumplea\u00f1os Empezar de nuevo","og_url":"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/","article_modified_time":"2025-07-02T00:12:15+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/","url":"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/","name":"Tu vida en Semanas -","isPartOf":{"@id":"https:\/\/festivos.cl\/#website"},"datePublished":"2025-07-02T00:03:41+00:00","dateModified":"2025-07-02T00:12:15+00:00","breadcrumb":{"@id":"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/festivos.cl\/index.php\/tu-vida-en-semanas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/festivos.cl\/"},{"@type":"ListItem","position":2,"name":"Tu vida en Semanas"}]},{"@type":"WebSite","@id":"https:\/\/festivos.cl\/#website","url":"https:\/\/festivos.cl\/","name":"Feriados y festivos en Chile","description":"Todos los feriados de Chile en sitio interactivo","publisher":{"@id":"https:\/\/festivos.cl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/festivos.cl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/festivos.cl\/#organization","name":"Festivos.cl","url":"https:\/\/festivos.cl\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/festivos.cl\/#\/schema\/logo\/image\/","url":"https:\/\/festivos.cl\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-18-may-2025-09_16_40-p.m.png","contentUrl":"https:\/\/festivos.cl\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-18-may-2025-09_16_40-p.m.png","width":1024,"height":1024,"caption":"Festivos.cl"},"image":{"@id":"https:\/\/festivos.cl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/instagram.com\/festivosdechile"]}]}},"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/festivos.cl\/index.php\/wp-json\/wp\/v2\/pages\/253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/festivos.cl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/festivos.cl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/festivos.cl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/festivos.cl\/index.php\/wp-json\/wp\/v2\/comments?post=253"}],"version-history":[{"count":2,"href":"https:\/\/festivos.cl\/index.php\/wp-json\/wp\/v2\/pages\/253\/revisions"}],"predecessor-version":[{"id":255,"href":"https:\/\/festivos.cl\/index.php\/wp-json\/wp\/v2\/pages\/253\/revisions\/255"}],"wp:attachment":[{"href":"https:\/\/festivos.cl\/index.php\/wp-json\/wp\/v2\/media?parent=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}