A volte, specialmente in programmi gestionali, e’ utile sapere se una determinata data cade di sabato o domenica. Ecco una routine che svolge questo lavoro.
Public Function IsWeekend(ByVal data As Date, _
ByRef giorno As String) As Boolean
' Parametri di input:
' - data: la data da testare
' - giorno: parametro passato per riferimento
' Il parametro 'giorno', passato per riferimento, viene
' modificato per restituire il nome del giorno della settimana,
' se sabato o domenica, oppure l'indicazione "feriale".
'
' Parametri di output:
' - True: il giorno testato è un sabato o una domenica
' - False negli altri casi
Select Case Weekday(data)
Case FirstDayOfWeek.Saturday
giorno = "Sabato"
IsWeekend = True
Case FirstDayOfWeek.Sunday
giorno = "Domenica"
IsWeekend = True
Case Else
giorno = "feriale"
IsWeekend = False
End Select
End Function
La funzione di cui sopra viene testata con il seguente codice (da inserire nell’evento Load della Form, oppure nell’evento Click di un pulsante):
Dim giorno As String
Dim i As Integer
For i = 0 To 1
' test su 2 giorni consecutivi (domenica e lunedi)
If IsWeekend(DateAdd("d", i, #1/20/2008#), giorno) Then
MsgBox("Non si lavora di " & giorno)
Else
MsgBox("Giorno " & giorno & ": OK, lavora lavora!!")
End If
Next i