webForumDet fria alternativet

Fel datum på veckorna

ASP

2 svar · 903 visningar · startad av Bjarne A

Medlem sedan feb. 2001151 inlägg
Frågan#1

Jag använder denna funktionen för att sedan kunna hämta vilka datum det är måndag-fredag varje vecka.

veckonummer hämtar jag från databasen och loopar fram ett schema med datum

<%

Function WeekNrToDate(varWeekNr,varYear,varDayNr)
varWeekNrThisYear = DatePart("ww",Cdate(varYear&"-01-01"),2,2)
If varWeekNrThisYear = 1 Then
varDayAdd = 0-(DatePart("w",Cdate(varYear&"-01-01"),2,2)-1)
Else
varDayAdd = 8-DatePart("w",Cdate(varYear&"-01-01"),2,2)
End If
varDayAdd = (7*(varWeekNr-1))+varDayAdd+(varDayNr-1)
WeekNrToDate = DateAdd("d",varDayAdd,Cdate((varYear&"-01-01")))
End Function
%>

Sedan hämtar jag det med följande kod:

<%Response.Write WeekNrToDate(RS("ID"),2016,1)%> 
<%Response.Write WeekNrToDate(RS("ID"),2016,2)%>
<%Response.Write WeekNrToDate(RS("ID"),2016,3)%> osv..

Nu blir det dock 20160111 på måndag v3 då det borde bli v2

<a href="provschema.asp?v=v#<%=datePart("WW",dateAdd("WW",i,now) )%>">Gå till dagens datum</a>

Här blir det oxå v3 fast det är v2 som det borde vara

Det strular i år då första veckan bara har tre dagar och inte räknas som v1

Medlem sedan juni 2012581 inlägg
#2

red. Tänkte fel. Det ska som du säger vara vecka 2 nu. Vilken locale använder du dig av? Se till att den är korrekt så ska du se att det nog löser sig.

Medlem sedan juli 2013280 inlägg
#3
response.write DatePart("ww", date(), 2, 2)

http://www.w3schools.com/asp/func_datepart.asp

Kolla almanackan! firstweekofyear = 2

****
Detta borde funka!

<a href="provschema.asp?v=v#<%=datePart("WW",dateAdd("WW",i,now, 2, 2) )%>">Gå till dagens datum</a>
252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)