webForumDet fria alternativet

DatePart

3 svar · 213 visningar · startad av Coccozz

CoccozzMedlem sedan apr. 20032 072 inlägg
#1

Hej!
behöver hjälp med att ta fram aktuella veckan. Har för det denna lilla "formel" :p

X = DatePart("WW", now, vbMonday)

Som ni ser säger den att X är lika med den aktuella veckan. Problemet är att

<%=X%>

ger fel vecka. Idag ger det vecka 16 men nog f*n är det vecka 15?! Eller? :q

LarsGMedlem sedan dec. 200012 464 inlägg
#2
X = DatePart("WW", now(),vbMonday,vbFirstFourDays)
CoccozzMedlem sedan apr. 20032 072 inlägg
#3

Och så lätt det kan vara att rätta till sina fel :e. Men jag hade iaf rätt i att det inte var vecka 16...än :P
Tack för hjälpen

GuffaMedlem sedan juni 2004533 inlägg
#4

Funktionen DatePart har dock en bugg:
http://support.microsoft.com/kb/q200299/

Du kan använda funktionen som beskrivs i artikeln för att kolla efter felet, eller du kan använda den här funktionen, som returnerar rätt vecka:

Function GetWeekOfYear(d)
	Dim y, first, start

	y = Year(d) + 1
	Do
		first = DateSerial(y, 1, 1)
		y = y - 1
		start = DateAdd("d", 3 - ((WeekDay(first) + 1) mod 7), first)
	Loop while d < start
	GetWeekOfYear = Int(DateDiff("d", start, d) / 7) + 1
End Function
135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)