Semana del Año

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos cómo calcular la semana del año con índice cero a la que corresponde una fecha determinada utilizando JavaScript. Utilizaremos el constructor Date y varios métodos de Date.prototype para obtener el primer lunes del año y calcular el número de semanas entre el primer lunes y la fecha dada. Este laboratorio está diseñado para mejorar su comprensión de la manipulación y cálculo de fechas en JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") subgraph Lab Skills javascript/variables -.-> lab-28694{{"Semana del Año"}} javascript/data_types -.-> lab-28694{{"Semana del Año"}} javascript/arith_ops -.-> lab-28694{{"Semana del Año"}} javascript/comp_ops -.-> lab-28694{{"Semana del Año"}} end

Obtener la semana del año a partir de una fecha en JavaScript

Para obtener la semana del año con índice cero que corresponde a una fecha en JavaScript, siga estos pasos:

  1. Cree una función weekOfYear que tome un parámetro date.
  2. Utilice el constructor Date y Date.prototype.getFullYear() para obtener el primer día del año como un objeto Date.
  3. Utilice Date.prototype.setDate(), Date.prototype.getDate() y Date.prototype.getDay() junto con el operador módulo (%) para obtener el primer lunes del año.
  4. Reste el primer lunes del año de la fecha (date) dada y divida por el número de milisegundos en una semana.
  5. Utilice Math.round() para obtener la semana del año con índice cero correspondiente a la fecha (date) dada.
  6. Si la fecha (date) dada es anterior al primer lunes del año, se devuelve -0.

Aquí está el código:

const weekOfYear = (date) => {
  const startOfYear = new Date(date.getFullYear(), 0, 1);
  startOfYear.setDate(startOfYear.getDate() + (startOfYear.getDay() % 7));
  return Math.round((date - startOfYear) / (7 * 24 * 3600 * 1000));
};

Para utilizar la función weekOfYear, simplemente llámela con un objeto Date como parámetro:

weekOfYear(new Date("2021-06-18")); // 23

Esto devolverá la semana del año con índice cero que corresponde a la fecha dada, que en este caso es 23.

Resumen

¡Felicidades! Has completado el laboratorio de la Semana del Año. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.