Calcular el número de la semana actual en JavaScript

El número de semana indica el número de semanas que se han completado en el año actual.

Ejemplo:

The week number of january 1  = week 1
The week number of january 30 = week 4

Explicación: Del siguiente calendario podemos ver que el 1 de enero está en la semana 1 y el 30 de enero en la semana 5

En el proceso de calcular el número de la semana actual, obtendremos los siguientes números.

getFullYear(): getFullYear() devuelve el año completo (4 dígitos) de una fecha.

Sintaxis:

Date.getFullYear()

getDay(): El método getDay() devuelve el día de la semana (0 a 6) de una fecha.

Sintaxis:

Date.getDay()

Enfoque: inicialice la fecha actual en una variable utilizando una nueva fecha() que, de forma predeterminada, devuelve la fecha actual. Inicialice la fecha de inicio del año actual (es decir, 1 de enero) en startDate. Calcule la diferencia entre las dos fechas en días restando startDate de currentDate.

  • Esto devuelve la diferencia entre fechas en milisegundos.
  • ahora, dividir el resultado por el total de milisegundos en un día da una diferencia entre las fechas en días.

Agregue el número de días al día de la semana actual usando getDay() y divídalo entre 7. Obtendremos el número de la semana actual.

Ejemplo: el siguiente código ilustrará el ejemplo anterior:

Javascript

<script>
    currentDate = new Date();
    startDate = new Date(currentDate.getFullYear(), 0, 1);
    var days = Math.floor((currentDate - startDate) /
        (24 * 60 * 60 * 1000));
         
    var weekNumber = Math.ceil(days / 7);
 
    // Display the calculated result      
    document.write("Week number of " + currentDate +
        " is :   " + weekNumber);
</script>

Producción:

Week number of Mon Feb 14 2022 08:15:31 
GMT+0530 (India Standard Time) is : 7

Publicación traducida automáticamente

Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *