#15 Ricerca del primo ed ultimo giorno del mese
Queste 2 funzioni, abbastanza simili, calcolano rispettivamente la data del primo giorno e dell’ultimo giorno del mese.
I valori restituiti sono 2:
- PrimoGiornoDelMese e UltimoGiornoDelMese restituiscono una stringa contenente il nome del giorno della settimana
- i parametri dataPrimoGiorno e dataUltimoGiorno passati per riferimento vengono modificati per restituire la corrispondente data del primo e dell’ultimo giorno
Public Function PrimoGiornoDelMese(ByVal data _
As Date, ByRef dataPrimoGiorno As Date) As String
' Parametri di input:
' - data: una data di riferimento per i calcoli
' - dataPrimoGiorno: parametro passato per riferimento e
' modificato dalla funzione
'
' Parametri di output:
' - PrimoGiornoDelMese: stringa contenente il nome del primo
' giorno del mese
' - dataPrimoGiorno: data del primo giorno del mese
Dim numeroGiornoSettimana As Integer
' creazione array con nomi della settimana:
Dim nomiGiorniSettimana As String() =
("Domenica", "Lunedì", "Martedì", _
"Mercoledì", "Giovedì", "Venerdì", "Sabato"}
' conversione della data da formato stringa (gg/mm/aaaa) a
' formato DateTime
dataPrimoGiorno =
DateTime.Parse("01/" & data.Month & _
"/" & data.Year)
' calcolo del numero del giorno della settimana (da 0 a 6)
numeroGiornoSettimana = dataPrimoGiorno.DayOfWeek
' estrazione del nome del giorno della settimana in base al
' numero calcolato nell'istruzione precedente
PrimoGiornoDelMese = nomiGiorniSettimana(numeroGiornoSettimana)
End Function
Public Function UltimoGiornoDelMese(ByVal data _
As Date, ByRef dataUltimoGiorno As Date) As String
' Parametri di input:
' - data: una data di riferimento per i calcoli
' - dataUltimoGiorno: parametro passato per riferimento e
' modificato dalla funzione
'
' Parametri di output:
' - UltimoGiornoDelMese: stringa contenente il nome dell'ultimo
' giorno del mese
' - dataUltimoGiorno: data dell'ultimo giorno del mese
Dim numeroGiornoSettimana As Integer
' creazione array con nomi della settimana:
Dim nomiGiorniSettimana As String() = _
{"Domenica", "Lunedì", "Martedì", _
"Mercoledì", "Giovedì", "Venerdì", "Sabato"}
' conversione della data da formato stringa (gg/mm/aaaa) a
' formato DateTime
dataUltimoGiorno = _
DateTime.Parse(data.DaysInMonth(data.Year, _
data.Month) & "/" & data.Month & "/" & data.Year)
' calcolo del numero del giorno della settimana (da 0 a 6)
numeroGiornoSettimana = dataUltimoGiorno.DayOfWeek
' estrazione del nome del giorno della settimana in base al
' numero calcolato nell'istruzione precedente
UltimoGiornoDelMese = _
nomiGiorniSettimana(numeroGiornoSettimana)
End Function
Per testare le funzioni di cui sopra, questo è del codice che può essere inserito nell’evento Load di una form o nell’evento Click di un pulsante:
Dim dataPrimoGiorno As Date
Dim dataUltimoGiorno As Date
' calcolo il nome e la data del primo e dell'ultimo giorno
' di Maggio 2008
System.Windows.Forms.MessageBox.Show("" & _
PrimoGiornoDelMese(#5/17/2008#, _
dataPrimoGiorno) & " " & dataPrimoGiorno)
System.Windows.Forms.MessageBox.Show("" & _
UltimoGiornoDelMese(#5/17/2008#, _
dataUltimoGiorno) & " " & dataUltimoGiorno)
' calcolo il nome e la data del primo e dell'ultimo
' giorno di Marzo 2008
System.Windows.Forms.MessageBox.Show("" & _
PrimoGiornoDelMese(#3/19/2008#, _
dataPrimoGiorno) & " " & dataPrimoGiorno)
System.Windows.Forms.MessageBox.Show("" & _
UltimoGiornoDelMese(#3/19/2008#, _
dataUltimoGiorno) & " " & dataUltimoGiorno)
Pubblicato il 23 gennaio 2008, in Tips con tag VB.NET. Aggiungi il permalink ai segnalibri. Lascia un commento.
Lascia un commento