Calculador Horas De Trabajo

Calculadora de Horas de Trabajo :root { –primary-blue: #004a99; –success-green: #28a745; –light-background: #f8f9fa; –dark-text: #333; –light-text: #666; –border-color: #dee2e6; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(–light-background); color: var(–dark-text); line-height: 1.6; margin: 0; padding: 20px; display: flex; flex-direction: column; align-items: center; } .loan-calc-container { background-color: #ffffff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); width: 100%; max-width: 700px; margin-bottom: 30px; } h1, h2 { color: var(–primary-blue); text-align: center; margin-bottom: 20px; } .input-group { margin-bottom: 20px; display: flex; flex-direction: column; gap: 8px; } .input-group label { font-weight: bold; color: var(–primary-blue); display: block; margin-bottom: 5px; } .input-group input[type="number"], .input-group input[type="time"] { width: 100%; padding: 12px 15px; border: 1px solid var(–border-color); border-radius: 4px; box-sizing: border-box; font-size: 1rem; transition: border-color 0.3s ease; } .input-group input[type="number"]:focus, .input-group input[type="time"]:focus { border-color: var(–primary-blue); outline: none; } button { background-color: var(–primary-blue); color: white; border: none; padding: 12px 25px; border-radius: 5px; font-size: 1.1rem; cursor: pointer; transition: background-color 0.3s ease, transform 0.2s ease; width: 100%; margin-top: 10px; } button:hover { background-color: #003366; transform: translateY(-2px); } #result { margin-top: 30px; padding: 20px; background-color: var(–success-green); color: white; text-align: center; border-radius: 5px; font-size: 1.4rem; font-weight: bold; box-shadow: 0 2px 8px rgba(40, 167, 69, 0.3); min-height: 60px; display: flex; justify-content: center; align-items: center; } .article-section { width: 100%; max-width: 700px; background-color: #ffffff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); margin-top: 30px; } .article-section h2 { color: var(–primary-blue); text-align: left; margin-bottom: 15px; } .article-section p, .article-section ul { color: var(–light-text); margin-bottom: 15px; } .article-section ul { list-style-type: disc; margin-left: 20px; } .article-section code { background-color: var(–light-background); padding: 2px 6px; border-radius: 3px; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; } @media (max-width: 600px) { .loan-calc-container, .article-section { padding: 20px; } h1 { font-size: 1.8rem; } button { font-size: 1rem; padding: 10px 20px; } #result { font-size: 1.2rem; } }

Calculadora de Horas de Trabajo

Introduce las horas de inicio y fin de tu jornada laboral para calcular el tiempo total trabajado.

00:00

¿Qué es la Calculadora de Horas de Trabajo?

La calculadora de horas de trabajo es una herramienta simple pero esencial para empleados y empleadores. Su propósito principal es determinar con precisión la cantidad total de tiempo que una persona ha trabajado durante un período específico, teniendo en cuenta la hora de inicio, la hora de finalización y los descansos. Es fundamental para la gestión de nóminas, el cálculo de horas extras, el cumplimiento de normativas laborales y la planificación de la fuerza laboral.

¿Cómo Funciona la Calculadora?

El cálculo se basa en la diferencia entre la hora de finalización y la hora de inicio de la jornada laboral, ajustando este tiempo total por la duración de los descansos. Aquí te explicamos la lógica detrás de la calculadora:

  • 1. Conversión a Minutos: Ambas horas (inicio y fin) se convierten a minutos desde la medianoche. Por ejemplo, 09:00 son 9 * 60 = 540 minutos, y 17:00 son 17 * 60 = 1020 minutos.
  • 2. Cálculo del Tiempo Transcurrido: Se resta la hora de inicio (en minutos) de la hora de fin (en minutos). Usando el ejemplo anterior: 1020 – 540 = 480 minutos.
  • 3. Consideración de los Descansos: La duración del descanso, proporcionada en minutos, se resta del tiempo transcurrido. Si el descanso es de 30 minutos: 480 – 30 = 450 minutos. Este es el tiempo neto trabajado.
  • 4. Conversión a Formato Horas: El tiempo neto trabajado (en minutos) se convierte de nuevo a un formato de horas y minutos. 450 minutos se convierten en 7 horas y 30 minutos (450 / 60 = 7 con un resto de 30).

La fórmula matemática se puede representar de la siguiente manera:

Tiempo Neto Trabajado (minutos) = (Hora Fin (minutos) - Hora Inicio (minutos)) - Duración Descanso (minutos)

Para convertir el resultado final de minutos a horas y minutos:

Horas = floor(Tiempo Neto Trabajado / 60)

Minutos = Tiempo Neto Trabajado % 60

Casos de Uso Comunes:

  • Empleados: Para verificar la exactitud de sus registros de tiempo y asegurar que se les paga correctamente, especialmente si manejan horas extras.
  • Empresas: Para la administración de nóminas, seguimiento de la productividad y aseguramiento del cumplimiento de las leyes laborales sobre horas de trabajo y descansos.
  • Trabajadores Autónomos: Para facturar a clientes basándose en el tiempo dedicado a proyectos.
  • Estudiantes: Para calcular el tiempo dedicado a estudios o proyectos.

Consideraciones Adicionales:

Esta calculadora asume que la jornada laboral ocurre dentro del mismo día. Si la jornada cruza la medianoche (por ejemplo, de 22:00 a 06:00 del día siguiente), el cálculo requiere una lógica adicional para manejar el cambio de día. La duración del descanso se resta siempre del tiempo total calculado.

function calculateWorkHours() { var startTimeInput = document.getElementById("startTime"); var endTimeInput = document.getElementById("endTime"); var breakDurationInput = document.getElementById("breakDuration"); var resultDiv = document.getElementById("result"); var startTimeValue = startTimeInput.value; var endTimeValue = endTimeInput.value; var breakDurationValue = parseInt(breakDurationInput.value, 10); if (!startTimeValue || !endTimeValue) { resultDiv.innerText = "Por favor, introduce ambas horas."; resultDiv.style.backgroundColor = "#ffc107"; /* Warning yellow */ return; } if (isNaN(breakDurationValue) || breakDurationValue = startTotalMinutes) { elapsedMinutes = endTotalMinutes – startTotalMinutes; } else { // Handles cases where the end time is on the next day (e.g., 22:00 to 06:00) // Assuming a 24-hour clock where midnight is 1440 minutes (24 * 60) elapsedMinutes = (1440 – startTotalMinutes) + endTotalMinutes; } var netWorkMinutes = elapsedMinutes – breakDurationValue; if (netWorkMinutes < 0) { netWorkMinutes = 0; // Cannot have negative work time } var finalHours = Math.floor(netWorkMinutes / 60); var finalMinutes = netWorkMinutes % 60; var formattedHours = String(finalHours).padStart(2, '0'); var formattedMinutes = String(finalMinutes).padStart(2, '0'); resultDiv.innerText = formattedHours + ":" + formattedMinutes; resultDiv.style.backgroundColor = "var(–success-green)"; // Reset to success green }

Leave a Comment