webForumDet fria alternativet

Veckonummer

8 svar · 287 visningar · startad av martinpartin

martinpartinMedlem sedan jan. 2001373 inlägg
#1

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

LarsGMedlem sedan dec. 200012 464 inlägg
#2
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)
martinpartinMedlem sedan jan. 2001373 inlägg
#3

Tack så mkt !!

;)

Mvh
Martin

martinpartinMedlem sedan jan. 2001373 inlägg
#4

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

Engine^Medlem sedan dec. 20003 887 inlägg
#5

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)
martinpartinMedlem sedan jan. 2001373 inlägg
#6

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

martinpartinMedlem sedan jan. 2001373 inlägg
#7

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

PeeerMedlem sedan mars 20025 907 inlägg
#8

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
martinpartinMedlem sedan jan. 2001373 inlägg
#9

Ahaja nu fattar jag.. trodde engine bara byggde på Lars G kod...
Det blev lite mindre kod :)

tackar så mkt !

Mvh
Martin

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)