Home Page Home Page Tips & Tricks Come trovare il giorno della settimana in Javascript ?

Come trovare il giorno della settimana in Javascript ?


Prendo spunto da un post nel forum per scrivere questo Tip. In qualsiasi ambiente ci troviamo a sviluppare software, dobbiamo molto probabilmente gestire anche delle date, che spesso sono una vera e propria noia.

Utilizzando un linguaggio .NET com C# o VB.NET è decisamente più facile grazie al supporto delle classi fornite dal Framework. Con Javascript è un po' più difficile ma vedremo qui di seguito che in pochi passaggi si può ottenere il risultato.

Abbiamo come dato di partenza, la data odierna, oggi, e vogliamo vedere restituito il giorno della settimana, scriveremo quindi in Javascript il seguente codice:

Codice .NET n°1
var data=new Date();
var giornosettimana=data.getDay();


Se oggi è martedì 14 Giugno 2005 questo codice stampera il valore 2, questo perchè i giorni in Javascript sono codificati partendo dalla Domenica e quindi per rappresentare in formato testuale il giorno della settimana creiamo un Array ad hoc:

Codice .NET n°2
var nomi_giorni=new Array("Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato");


e modifichiamo la linea con l'alert in questo modo:

Codice .NET n°3
alert(nomi_giorni[giornosettimana]);


A questo punto apparirà Martedì.
Se non ci va bene la data odierna è possibile specificarne una custom. Il costruttore Date() accetta i seguenti parametri:

Codice .NET n°4
var data=new Date(anno,mese,giorno,ora,minuto,secondo);


quindi se vogliamo inserire il 5 Gennaio 1995 è possibile scrivere:

Codice .NET n°5
var data=new Date(1995,0,5);
var giornosettimana=data.getDay();
alert(nomi_giorni[giornosettimana]);

così scopriremo che era Giovedì.

Attenzione: Ricordate che i mesi sono così codificati in questo modo:

0 - Gennaio
1 - Febbraio
2 - Marzo
3 - Aprile
4 - Maggio
5 - Giugno
6 - Luglio
7 - Agosto
8 - Settembre
9 - Ottobre
10 - Novembre
11 - Dicembre


Mentre i giorni della settimana:

0 - Domenica
1 - Lunedì
2 - Martedì
3 - Mercoledì
4 - Giovedì
5 - Venerdì
6 - Sabato

Copyright © dotNetHell.it 2002-2018
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5