webForumDet fria alternativet

Räkna bara vardagar

ASP

9 svar · 178 visningar · startad av Rossifumi

Medlem sedan okt. 20001 558 inlägg
Frågan#1

Hejsan...

Nu har jag kört fast rejält. Jag vill bara räkna antalet vardagar imellan två datum, är det möjligt?

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan dec. 200012 464 inlägg
#2

Det är inte så enkelt, om du vill ta hänsyn till rörliga helgdagar och sådant.

Gäller det bara att ta bort lördag och söndag är det väl inte så knepigt.

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 20001 558 inlägg
#3

Hur :q ;)

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan dec. 200012 464 inlägg
#4
function weekdays(d1,d2)
days = datediff("D",d1,d2)
weeks = datediff("w",d1,d2)
if weekday(d1,vbMonday) < weekday(d2,vbMonday) then
   days = days - 2*weeks
else
   days = days - 2*(weeks-1)
end if
weekdays = days
end function

För att ta bort lördag/söndag så kan du ju utgå från det. Den fungerar förmodligen inte om något av datumet är en lördag eller en söndag. Orkar inte testa mer.

För att ta hänsyn till andra helgdagar så får man nog lägga upp en tabell för dem och räkna efter hur många som faller inom det aktuella intervallet.

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 20001 558 inlägg
#5

Skall testa detta under morgondagen :)
Behöver bara tabort Lör/Sön.

TACK :)

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan dec. 20002 526 inlägg
#6

vad har hänt med din sida Rossifumi, för det är la inte du som gjort den man kan komma till nu? *snyft*

------------------
grodan: Ligger nere just nu för att J*VLA trihost som inte har funkat bra, lägger ner! Kommer en ny version snart, vill du vara med? cristoffer@telia.com eller icq# 85371380

Medlem sedan okt. 20001 558 inlägg
#7

Vilken sida snackar du om?

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan okt. 20001 558 inlägg
#8

LarsG >>

Det funkar nästan.
Ifall jag skriver som följer så får jag svaret 8:a.

<%
Function weekdays(d1,d2)
	days = datediff("D",d1,d2)
	weeks = datediff("w",d1,d2)

		if weekday(d1,vbMonday) < weekday(d2,vbMonday) then
			days = days - 2*weeks
		else
			days = days - 2*(weeks-1)
		end if
weekdays = days
End Function

temp = weekdays("2001-08-03","2001-08-09")
Response.Write temp
%>

Vet du vad som är fel?

MVH

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan dec. 200012 464 inlägg
#9

Ja.

Function weekdays(d1,d2)
days = datediff("D",d1,d2)

if days <= 7 then
   days = days - 2
else
weeks = datediff("w",d1,d2)
if weekday(d1,vbMonday) < weekday(d2,vbMonday)  then
days = days - 2*weeks
else
days = days - 2*(weeks-1)
end if
end if
weekdays = days
End Function

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 20001 558 inlägg
#10

Nu verkar den funka :)

TACK LarsG :e

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)