Guffa | Foto | Programmering

Första dagen i...

Här är några användbara datumfunktioner:

[S:WeekStart]

Den här funktionen beräknar startdatumet för en vecka utifrån någon av dagarna i veckan. Den första parametern är datumet för någon av dagarna i veckan och den andra parametern är ett värde som representerar den första veckodagen.

Function WeekStart(datDate, lngFirstDayOfWeek)
   WeekStart = DateAdd("d", 1 - DatePart("w", datDate, lngFirstDayOfWeek), datDate)
End Function

Exempel:

Den här veckan började: <%=WeekStart(Date(), vbMonday)%>

[S:MonthStart]

Den här funktionen beräknar startdatumet för en månad utifrån någon av dagarna i månaden.

Function MonthStart(datDate)
   MonthStart = DateAdd("d", 1 - Day(datDate), datDate)
End Function

Exempel:

Den här månaden började: <%=MonthStart(Date())%>

[S:GetWeek]

Den här funktionen beräknar startdatumet för en vecka utifrån år och veckonummer. Den första parametern är året, den andra parametern är veckonumret, den tredje parametern representerar den första veckodagen och den fjärde parametern representerar metoden för att avgöra den första veckan på året.

Function GetWeek(lngYear, lngWeek, lngFirstDay, lngFirstWeek)
   Dim datOffset
   datOffset = DateSerial(lngYear, 2, 1)
   GetWeek = DateAdd("d", 1 - WeekDay(datOffset, lngFirstDay), _
   DateAdd("ww", lngWeek - DatePart("ww", datOffset, lngFirstDay, lngFirstWeek), datOffset))
End Function

Exempel:

Vecka 42 börjar: <%=GetWeek(Year(Date()), 42, vbMonday, vbFirstFourDays)%>