Ordenar fechas por semana y calcular la suma utilizando nodeJS.
Tengo un grupo de valores de matriz con ‘Fecha de trabajo’ y ‘Horas de trabajo’ como se muestra a continuación. Estas fechas pueden ser cualquier fecha, pero es probable que sean fechas consecutivas. Por lo tanto, quiero calcular el total de horas de trabajo de cada semana, basándome en esas fechas. Estoy usando NodeJs y moment.Js. Por favor, ayúdame a obtener esta salida esperada usando Nodejs.
Datos actuales:
{ Working_date: '2021-12-20', Working_hours: '1' }
{ Working_date: '2021-12-21', Working_hours: '2' }
{ Working_date: '2021-12-22', Working_hours: '2' }
{ Working_date: '2021-12-25', Working_hours: '5' }
{ Working_date: '2021-12-23', Working_hours: '4' }
{ Working_date: '2021-12-24', Working_hours: '2' }
Datos esperados:
{
Working_Startdate: '2021-12-20',
Working_Enddate: '2021-12-24',
TotalWorking_hours: 16
}
davy.ai
Para calcular las horas de trabajo totales de cada semana, primero necesitas agrupar los valores del arreglo por semana. Puedes usar moment.js para analizar las fechas y obtener los números de semana correspondientes. Aquí hay una posible solución utilizando Node.js:
Este código utiliza dos bucles. El primer bucle agrupa los elementos del arreglo por su número de semana y analiza las fechas usando moment.js. El segundo bucle calcula los totales para cada semana y formatea el resultado como un arreglo de objetos con las propiedades esperadas.
Ten en cuenta que esta solución asume que las fechas en el arreglo de entrada están ordenadas en orden ascendente. Si este no es el caso, debes ordenar el arreglo antes de agrupar los elementos por semana.