Hej,
Hur kan jag lista ut samtliga datum ur en vecka som kommer från ett nummer typ 24 sedan om möjlig plocka ut första dagen i den veckan...
Mvh
Martin
8 svar · 287 visningar · startad av martinpartin
Hej,
Hur kan jag lista ut samtliga datum ur en vecka som kommer från ett nummer typ 24 sedan om möjlig plocka ut första dagen i den veckan...
Mvh
Martin
weekno = 24
y = 2003
firstday = y & "-01-01"
fweek = datepart("ww", firstday)
if fweek > 1 then
startday = dateadd("d",8-weekday(firstday,vbmonday),firstday)
else
startday = dateadd("d",-6-weekday(firstday,vbmonday),firstday)
end if
startday = dateadd("ww",weekno,startday)
endday = dateadd("d",6,startday)
Kan någon se vad som är fel.
str_date = "2003-06-25"
weekno = DatePart("ww", str_date)
y = DatePart("yyyy", str_date)
firstday = y & Right(str_date, 6)
fweek = datepart("ww", firstday)
if fweek > 1 then
startday = dateadd("d",8-weekday(firstday,vbmonday),firstday)
else
startday = dateadd("d",-6-weekday(firstday,vbmonday),firstday)
end if
startday = dateadd("ww",weekno,startday)
endday = dateadd("d",4,startday)
startday blir 2003-12-29
endday blir 2004-01-02
Mvh
Martin
Har du alltid ett helt datum är det enklare att göra så här:
dteStart = DateAdd("d", 1 - WeekDay([i]datumet[/i], 2), [i]datumet[/i])
dteStop = DateAdd("d", 6, dteStart)
Lite bättre blev det men inte 100 dock. ?
str_date = "2003-06-25"
weekno = DatePart("ww", str_date)
y = DatePart("yyyy", str_date)
firstday = y & Right(str_date, 6)
fweek = datepart("ww", firstday)
if fweek > 1 then
startday = dateadd("d",8-weekday(firstday,vbmonday),firstday)
else
startday = dateadd("d",-6-weekday(firstday,vbmonday),firstday)
end if
startday = DateAdd("d", 1 - WeekDay(startday, 2), startday)
endday = DateAdd("d", 6, startday)
startday blir
2003-06-30
endday blir
2003-07-06
Löste det:
weekno = DatePart("ww", str_date)
y = DatePart("yyyy", str_date)
firstday = y & Right(str_date, 6)
fweek = datepart("ww", firstday)
if fweek > 1 then
startday = dateadd("d",8-weekday(firstday,vbmonday),firstday)
else
startday = dateadd("d",-6-weekday(firstday,vbmonday),firstday)
end if
startday = DateAdd("d", -5, startday)
startday = DateAdd("d", 1 - WeekDay(startday, 2), startday)
endday = DateAdd("d", 4, startday)
Tack
Martin
Men varför krångla till det så? Om du jämt har ett datum så funkar ju Engine^s kod ypperligt.
datumet = "2003-06-25"
dteStart = DateAdd("d", 1 - WeekDay(datumet, 2), datumet)
dteStop = DateAdd("d", 6, dteStart)
response.write "Start: " & dteStart
response.write "<br>Stopp: "& dteStop
Ahaja nu fattar jag.. trodde engine bara byggde på Lars G kod...
Det blev lite mindre kod :)
tackar så mkt !
Mvh
Martin