Calcular el Día Laboral Anterior

El calculatePastWorkingDay API determina un día laborable en el pasado, que ocurrió exactamente hace N días laborables daysToSubtract). En el cálculo, se omiten todos los días no laborables. Calendario anual con especificado calendarId(en la solicitud) se utiliza en la lógica para determinar los días no laborables. No es responsabilidad de este servicio determinar qué día es un día no laborable. El usuario de este código (cliente) es responsable de proporcionar datos válidos como parte del calendario anual y mantenerlos actualizados. Este API devuelve la fecha de trabajo calculada en el pasado.

Diagrama de Secuencia

El diagrama a continuación es una representación técnica de la lógica de cálculo que ocurre en el servicio de jornada laboral.

Diagram

Uso

Esta sección contiene la explicación de los parámetros de solicitud de entrada, así como ejemplos de casos de uso realistas.

Parámetro Opcional Descripción

startDate

La fecha a partir de la cual se debe restar el número especificado de días hábiles para obtener un día laborable en el pasado. Si no se especifica, se utilizará la fecha actual.

calendarId

No

Calendario con el id proporcionado que se utilizará en el cálculo para determinar los días no laborables. Debe ser un calendario configurado válidamente.

daysToSubtract

No

El número de días a restar de la startDate para obtener el día hábil solicitado en el pasado.

Una respuesta exitosa devuelve el día laborable anterior de acuerdo con los criterios especificados en la solicitud.

Ejemplos

Parámetros de Entrada Resultado Explicación

startDate=2025-11-27, daysToSubtract=1, calendarId=UKDoméstico

2025-11-26

El resultado es un día hábil antes.startDate, sin días no laborables entre.

startDate=2025-10-27, daysToSubtract=1, calendarId=UKDomestic

2025-10-24

Los días del fin de semana 25 y 26 son días no laborables según el calendario, por lo que se omitieron en el cálculo.

startDate=2026-01-05, daysToSubtract=1, calendarId=UKDoméstico

2025-12-31

Similar a lo anterior, el 3 y 4 de enero son fin de semana, pero el 1 y 2 son días festivos, por lo que también se omiten según el calendario.

startDate=2026-01-05, daysToSubtract=1, calendarId=SEPAStep2

2026-01-02

El 3 y 4 de enero son fin de semana, mientras que el 1 de enero es un día festivo. Observe cómo seleccionar un diferente calendarId da un resultado diferente, debido a la diferencia en los días festivos públicos proporcionados.

startDate=2025-11-30, daysToSubtract=1, calendarId=QADomestic

2025-11-27

Debido a un país diferente calendarId, el domingo es un día laborable mientras que el sábado y el viernes son días no laborables.

daysToSubtract=1, calendarId=UKDoméstico

2025-11-26

En este ejemplo startDate no se proporcionó, pero la fecha actual era 2025-11-27, por lo que el sistema tomó la fecha actual como startDate.

startDate=2025-10-21, daysToSubtract=4, calendarId=UKDoméstico

2025-10-15

Los días 18 y 19 de octubre son fin de semana, por lo que se omiten en el cálculo.

startDate=2026-01-01, daysToSubtract=1, calendarId=UKDoméstico

2025-12-31

Cuando se especifique startDate es un día no laborable, se devuelve el día laborable anterior.

startDate=2025-10-10, daysToSubtract=20, calendarId=UKDoméstico

2025-09-12

Omit a todos los días no laborables (fines de semana) en el cálculo.