05. marts 2007 - 18:14
Der er
2 kommentarer og
1 løsning
udskriv datoen for mandag i igangværende uge
Jeg tror jeg har stiret mig blind på det.
Det kan vel ikke være så svært, at udskrive datoen på mandag i igangværende uge?
Er det en simoel funktion jeg har overset, eller kræver det lidt mere?
05. marts 2007 - 18:35
#1
<%
Function weekNr(dtmDate)
weekNr = DatePart("ww", dtmDate, vbMonday, vbFirstFourDays)
If weekNr > 52 Then
If DatePart("ww", int(dtmDate) + 7 , vbMonday, vbFirstFourDays) = 2 Then weekNr = 1
End If
End Function
Function WeekStart(dtmdate)
ugenr = weekNr(dtmdate)
WeekStart = DateAdd("ww",ugenr,"01-01-" & DatePart("yyyy",dtmdate))
if NOT weekNr(WeekStart) = ugenr then
if weekNr(WeekStart) > ugenr then
WeekStart = DateAdd( "ww", ugenr-(weekNr(WeekStart)-ugenr), "01-01-" & DatePart("yyyy",dtmdate))
else 'weekNr(WeekStart) < ugenr
WeekStart = DateAdd( "ww", ugenr+(weekNr(WeekStart)-ugenr), "01-01-" & DatePart("yyyy",dtmdate))
end if
end if
MyWeekday = Weekday2(WeekStart)
if NOT MyWeekday = 1 then
WeekStart = DateAdd("d",1-MyWeekday,WeekStart)
end if
End Function
function Weekday2(dtmDate)
datenr = 0
if Weekday(dtmDate) = 1 then
datenr = 7
else
datenr = Weekday(dtmDate)-1
end if
Weekday2 = datenr
end function
Response.write WeekStart(Date())
%>
06. marts 2007 - 09:14
#3
Nu kan det godt være at der er noget jeg har taget fejl af, men burde funktionen "WeekDay" ikke lgie netop være til at løse det problem? :S
Noget i stil med:
<%
fratag = 0-WeekDay(Date,2) 'Vi gør det negativt da vi vil hive antallet af dage der er gået siden mandag fra vores aktuelle dag.
dd = dateadd("d",fratag+1,date) '+1 fordi at tirsdag vil være dag nr. 2, men vi skal kun en dag tilbage for at ramme mandag.
%>
<%=dd%>
Jeg har IKKE tænkt det igennem i et større perspektiv, så hvis det er en tanketorsk fra min side af, så er jeg ked af det ;) Men umiddelbart synes jeg det virker til at være måden at gøre det på.