Hej Jag har den här funktionen som tar fram måndages datum i en vecka: Här är nånting jag knåpat ihop. Gäller om veckan börjar på en söndag. Här är min variant >Här är min variantFå fram dagar från veckonummer.
Jag håller på med ett tidsloggningssystem och behöver få fram vilka datum som ingår i en vecka. Den ända informationen som jag har är ett veckonummer (tex. v 25). Vad kan jag enklast använda för kod för att få fram detta?
//StefanSv: Få fram dagar från veckonummer.
Function LookForMonday(y, v)
dim yy
dim d
dim dag
dim vecka
dim xvecka
yy=y
y = y & "-01-01"
'Räkna ut ungefär vilket datum det blir
d = DateAdd("d", (v * 7), y)
'Kolla vad det är för dag
dag = DatePart("w", d, 0, 0)
'Kolla verkligen vilken vecka det blir
vecka = DatePart("ww", d, 0, 0)
xvecka=cint(vecka)-cint(v)
'om neg xvecka har vi passerat årsskiftet
if xvecka>0 then
d=DateAdd("ww",xvecka*-1,d)
elseif xvecka<>0 then
d=DateAdd("ww",-1,d)
end if
If dag = 7 Then 'Om det är en söndag
LookForMonday= d - 6
Else
If dag > 0 Then 'Om det inte är måndag, ta reda på skillnaden
LookForMonday= d - (dag - 1)
else
LookForMonday= d
End If
End If
End Function
Det är inte jag som gjort den; hittad på Internet någonstans...
Sv: Få fram dagar från veckonummer.
<code>
td = date()
mn = dateadd("d",1-weekday(dateadd("d","-1",td)),td)
date_f = mn
date_t = dateadd("d","6",mn)
Response.Write date_f & " - " & date_t
</code>Sv:Få fram dagar från veckonummer.
<code=ASP>
function getMonday(y, w)
'Vilken dag i veckan är 1a januari det valda året?
weekDayJanFirst = datepart("w", y & "-01-01", 3)
'Plocka ut måndagen i den valda veckan
mondayOfWeek = dateAdd("d", w * 7 - weekDayJanFirst, y & "-01-01")
getMonday = mondayOfWeek
end function
'Låt oss skriva ut datumet för måndagen vecka 5 år 2006
response.write getMonday(2006, 5)
</code>Sv: Få fram dagar från veckonummer.
getMonday(2004,53) ger 2005-01-03 istället för 2004-12-27
Här är en variant som fungerar i alla länder oavsett vilken dag veckan börjar på och vilken vecka som är vecka 1.
<code=vbs>
Function firstdayofweek(y, w)
Dim d : d = DateSerial(y,1,7) ' 7:e är aldrig i vecka 53
firstdayofweek = d - DatePart("w", d, 0, 0) + (w - DatePart("ww", d, 0, 0)) * 7 + 1
End Function
</code>