ForHosting KIT · Utilidades de desarrollo

Total de horas trabajadas menos descansos

La calculadora del total de horas trabajadas suma una lista de registros de entrada y salida, resta el descanso no remunerado indicado para cada turno y devuelve un total neto claro.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Cada fecha y hora ISO debe incluir Z o un desplazamiento explícito, por lo que los registros de distintas oficinas, periodos de horario de verano o turnos nocturnos se comparan sobre una única línea temporal UTC. El resultado también muestra las horas brutas, el total de minutos de descanso y la cantidad de turnos incluidos, lo que facilita revisar o automatizar el cálculo.

Introduzca registros de turnos completos e inequívocos

Proporcione una fila por cada periodo continuo de trabajo. Cada fila necesita una fecha y hora clock_in y otra clock_out en formato ISO 8601, incluidos los segundos y Z o un desplazamiento UTC numérico como -04:00. El desplazamiento es imprescindible porque una hora local por sí sola no identifica un instante único durante los cambios horarios. Añada break_minutes cuando el turno contenga un descanso no remunerado; omítalo si no debe realizarse ninguna deducción. Se aceptan minutos de descanso decimales, lo que resulta útil si el sistema de origen registra fracciones de minuto. La salida puede corresponder al día natural siguiente, así que el trabajo nocturno no requiere un modo especial. La calculadora rechaza fechas imposibles, desplazamientos ausentes, salidas que no sean posteriores a las entradas, descansos negativos y descansos más largos que su turno. También rechaza turnos que se solapen después de normalizarlos en UTC, pues contarlos dos veces aumentaría el total de forma silenciosa. Al mantener cada fila explícita, la entrada se puede auditar y no se presuponen políticas de comida, reglas de redondeo ni qué intervalos entre turnos cuentan como descanso.

Comprenda el cálculo en UTC

Cada marca temporal se interpreta como un valor del calendario gregoriano y se convierte a una posición en milisegundos UTC mediante su desplazamiento escrito. El cálculo no consulta la zona horaria del equipo, una base de datos de zonas, la fecha actual ni ningún servicio externo. Para cada fila válida, la duración bruta es el instante UTC de salida menos el instante UTC de entrada. El descanso indicado se convierte de minutos a milisegundos y se resta de la duración bruta de esa fila. Después se suman por separado todas las duraciones brutas y todos los descansos antes de obtener el total neto final. Este orden produce resultados estables para equipos cuyos registros emplean desplazamientos distintos y para turnos que cruzan la medianoche. La salida incluye total_hours como valor neto trabajado, total_minutes para sistemas que prefieren minutos, gross_hours antes de deducciones, break_minutes como deducción conjunta y shift_count para conciliación. Los valores de horas y minutos solo se redondean a seis decimales al generar la salida; la acumulación interna permanece en milisegundos enteros. Por ello, las mismas entradas producen el mismo JSON con independencia del idioma del navegador o la ubicación del servidor.

Utilice el resultado en nóminas e informes

Los campos devueltos separan la actividad de origen de la duración pagable final, lo que permite al revisor reproducir la aritmética. Compare shift_count con el número de filas importadas, gross_hours con el intervalo bruto del reloj y break_minutes con las deducciones no remuneradas previstas antes de aceptar total_hours. La capacidad no aplica tramos de horas extra, reglas sobre descansos pagados, tarifas salariales, tolerancias de horario ni redondeos propios de una empresa. Estas políticas varían según el acuerdo y la jurisdicción, por lo que deben aplicarse en un paso posterior claramente documentado. Tampoco deduce descansos a partir de huecos entre filas distintas: solo resta los valores break_minutes que usted proporcione. Así, la función sirve como componente determinista para preparar nóminas, facturas de profesionales, informes de tiempo por proyecto y conciliaciones de asistencia sin incorporar reglas ocultas. Puede ejecutarla gratis en el navegador para una comprobación individual, mientras que la automatización mediante API cuesta $0.002 por solicitud. En importaciones repetibles, conserve las cadenas ISO y sus desplazamientos originales junto al resumen devuelto para que cualquier total discutido pueda rastrearse hasta los instantes y deducciones exactos utilizados.

Preparar un total de nómina

Combine turnos aprobados y descansos no remunerados en una duración neta antes de aplicar tarifas o reglas de horas extra.

Comprobar una factura profesional

Recalcule el tiempo facturado a partir de marcas temporales sin depender de la zona horaria local de quien revisa.

Conciliar exportaciones de asistencia

Compare el tiempo bruto, las deducciones y el número de turnos con los registros exportados por un sistema de fichaje.

¿Cuánto cuesta una solicitud?

La automatización mediante API cuesta $0.002 por solicitud, y el cálculo también puede ejecutarse gratis en el navegador.

¿Qué formato de fecha y hora se requiere?

Use ISO 8601 con fecha, hora hasta los segundos y Z o un desplazamiento explícito, por ejemplo 2026-07-20T09:00:00-04:00.

¿Cómo se indican los descansos?

Establezca break_minutes en cada turno con la duración de su descanso no remunerado. Si lo omite, la deducción de ese turno será cero.

¿Calcula las horas extra o los salarios?

No. Solo devuelve duraciones; los umbrales de horas extra, el redondeo, las tarifas y la normativa laboral corresponden a otro paso.

¿Por qué se rechazan los turnos solapados?

Los intervalos solapados contarían dos veces el mismo tiempo. El rechazo revela el conflicto en lugar de devolver un total inflado.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/date/timesheet-total

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/date/timesheet-total \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"shifts":[{"clock_in":"2026-07-20T09:00:00-04:00","clock_out":"2026-07-20T17:30:00-04:00","break_minutes":30},{"clock_in":"2026-07-21T09:15:00-04:00","clock_out":"2026-07-21T17:00:00-04:00","break_minutes":45}]}'
{
  "shifts": [
    {
      "clock_in": "2026-07-20T09:00:00-04:00",
      "clock_out": "2026-07-20T17:30:00-04:00",
      "break_minutes": 30
    },
    {
      "clock_in": "2026-07-21T09:15:00-04:00",
      "clock_out": "2026-07-21T17:00:00-04:00",
      "break_minutes": 45
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.timesheet_total",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_items10000
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →