Ottieni il numero della settimana dell'anno in JavaScript

Subodh Poudel 12 ottobre 2023
  1. Usa le funzioni getFullYear() e getDay() insieme all’oggetto new Date() per ottenere il numero della settimana della data corrente
  2. Usa la struttura dati DateTime e le sue proprietà weekNumber da Luxon per ottenere il numero della settimana corrente dell’anno
Ottieni il numero della settimana dell'anno in JavaScript

Introdurremo un metodo per trovare il numero della settimana corrente dell’anno in JavaScript, creando l’oggetto del costruttore new Date() e le funzioni come getFullYear() e getDay(). Questo metodo troverà il numero totale di giorni dell’anno e troverà il numero della settimana. Useremo le funzioni dell’oggetto Math come floor() e ceil() in questo metodo.

Questo articolo introdurrà anche un altro metodo per ottenere il numero della settimana corrente in JavaScript utilizzando un wrapper javascript Luxon. Luxon è una libreria di date e orari JavaScript. Useremo la struttura dati DateTime e la proprietà weekNumber di questa libreria. Utilizzeremo anche la funzione now con la struttura dati DataTime.

Dimostreremo anche un metodo per dichiarare una variabile globale in PHP usando la funzione define(). Questo metodo è un modo per dichiarare una variabile globale costante in PHP. Il valore della variabile non può essere modificato in seguito.

Usa le funzioni getFullYear() e getDay() insieme all’oggetto new Date() per ottenere il numero della settimana della data corrente

Questo metodo utilizza il costruttore new Date() e il suo oggetto insieme a funzioni come getFullYear() e getDay() per ottenere il numero della settimana corrente dell’anno. L’oggetto Data restituisce la data corrente. La funzione getDay() trova il giorno corrente della settimana in un valore intero. Possiamo creare un oggetto del costruttore Date() per ottenere la data corrente. L’oggetto chiama la funzione getFullYear() per ottenere l’inizio dell’anno in corso. Possiamo trovare il numero totale di giorni dall’inizio della giornata all’ora corrente dividendo la differenza dei giorni per i millisecondi totali in un giorno. Possiamo usare la funzione floor() dell’oggetto Math per arrotondare il valore per ottenere un numero intero. Questo metodo calcola infine il numero della settimana dell’anno, dividendo il numero totale dei giorni per sette.

Ad esempio, creare un oggetto Date currentdate. Creare un’altra variabile, oneJan, per memorizzare il primo giorno dell’anno in corso. Per questo, crea un nuovo oggetto Date sulla variabile e chiama la funzione getFullYear() con l’oggetto currentdate come primo parametro del costruttore Date(). Utilizzare 0 e 1 come secondo e terzo parametro. Sottrai la variabile oneJan da currentdate e dividila per 86400000. Avvolgere le operazioni all’interno della funzione Math.floor() e assegnarla a una variabile numberOfDays. Chiama la funzione getDay() con l’oggetto currentdate e aggiungi la variabile numberOfDays e il valore 1. Avvolgere questa operazione con la funzione Math.ceil() e memorizzare il risultato nella variabile result. Registra la variabile nella console insieme alla variabile currentdate utilizzando l’interpolazione di stringhe.

L’esempio seguente trova la data corrente e quindi il primo giorno dell’anno corrente. I parametri 0 e 1 nella seconda riga rappresentano il primo mese e il primo giorno dell’anno in corso. Sottraendo oneJan da currentdate si ottiene il valore in millisecondi, quindi il totale dei millisecondi in un giorno che è 86400000 divide la differenza. La funzione getDay() restituisce il giorno in forma intera che inizia con 0, quindi aggiungiamo 1. Pertanto, viene calcolato il numero della settimana corrente.

Codice di esempio:

currentdate = new Date();
var oneJan = new Date(currentdate.getFullYear(), 0, 1);
var numberOfDays = Math.floor((currentdate - oneJan) / (24 * 60 * 60 * 1000));
var result = Math.ceil((currentdate.getDay() + 1 + numberOfDays) / 7);
console.log(
    `The week number of the current date (${currentdate}) is ${result}.`);

Produzione:

The week number of the current date (Tue May 25 2021 16:55:53 GMT+0545 (Nepal Time)) is 21.

Usa la struttura dati DateTime e le sue proprietà weekNumber da Luxon per ottenere il numero della settimana corrente dell’anno

Possiamo utilizzare la libreria Luxon per ottenere il numero della settimana corrente dell’anno con la struttura dati DateTime e la proprietà weeknumber. Il DateTime è costituito da un timestamp, un fuso orario e proprietà di configurazione. Il DateTime utilizzato con la funzione now restituirà la data e l’ora per l’istante corrente nel fuso orario del sistema. La proprietà weekNumber accede al numero della settimana dell’anno in corso. Possiamo usare la funzione toISO() per convertire il DateTime nel formato ISO.

Importa l’oggetto DateTime da luxon/src/datetime.js nella prima riga. Non dimenticare di scaricare il codice sorgente Luxon. Salva il codice sorgente in un file JavaScript e assicurati di includere il file utilizzando il tag script nella sezione HTML. Chiama la funzione now() con l’oggetto DateTime e poi chiama la proprietà weekNumber. Assegnalo a una variabile date. Quindi, registra la variabile data nella console. Si prega di consultare la Documentazione Luxon per saperne di più sugli oggetti e le proprietà DateTime.

Esempio di codice:

import DateTime from 'luxon/src/datetime.js'
const date = DateTime.now().weekNumber
console.log(`The current week number is ${date}`)

Produzione:

The current week number is 21
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Articolo correlato - JavaScript DateTime