---
title: "lista aktuell månads veckonummer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/83947-lista-aktuell-månads-veckonummer"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-08-10T20:18:18.000Z"
updated: "2003-08-11T09:29:17.000Z"
replies: 6
views: 447
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/83947-lista-aktuell-månads-veckonummer"
---

# lista aktuell månads veckonummer

## #1 — plelkes, 2003-08-10T20:18Z

Hejdär, här kommer jag med mitt nästa bekymmer:
Jag vill kunna lista aktuell månads veckonummer, dvs för aug-03:
31, 32, 33, 34, 35.
Jag vet att veckonumret fås genom

```
strDate = ar & "-" & manad & "-01"
start= CDate(strDate)
Response.write DatePart ("ww", start)
```

 men ovanstående ger bara månadens första vecka.
Sista veckan bör fås fam genom

```
slut = ar & "-" & manad+1 & "-01-1"
```

 Men jag får inte till det hela.
Som vanligt tacksam för hjälp av er

Permalänk: https://www.webforum.nu/p/83947

## #2 — PatrikB, 2003-08-10T20:38Z

Detta kan du testa ... borde funka.

```
<%
Option Explicit
%>
<html>
<head>
<title>All Weeks In Month</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
	Dim dte
	Dim intYear
	Dim intMonth
	Dim intDaysInMonth
	Dim i
	Dim strDate
	Dim start
	
	dte = Date()
	intYear = Year(dte)
	intMonth = Month(dte)
	intDaysInMonth = GetDaysInMonth(dte)
	
	For i = 1 TO intDaysInMonth step 7
		strDate = intYear & "-" & intMonth & "-" & Right("0" & i,2)
		start= CDate(strDate)
		Response.write DatePart ("ww", start) & "<br>"
	Next '## -- i --
%>
</body>
</html>
<%
	Public Function GetDaysInMonth(ByVal dDate)
		Dim iMonth
		iMonth = Month(dDate)
		
		Select Case iMonth
			Case 1,3,5,7,8,10,12
					GetDaysInMonth = 31
			Case 2
				If IsDate("February 29, " & Year(dDate)) Then
					GetDaysInMonth = 29
				Else
					GetDaysInMonth = 28
				End If
				
			Case 2,4,6,9,11
					GetDaysInMonth = 30

		End Select
	End Function
%>
```

cya,
/PatrikB

Permalänk: https://www.webforum.nu/p/1133141

## #3 — plelkes, 2003-08-10T20:42Z

Tack för ditt förslag PatrikB. 
skulle du kunna förklara din kod lite mer?

Permalänk: https://www.webforum.nu/p/1133143

## #4 — plelkes, 2003-08-10T20:49Z

Nedanstående kod listar datum och dagar för aktuell månad

```
<%
Dim aDagar(42) 
Dim iDag 
Dim dNewDate
Dim iWeekDay, sWeekDayName

dNewDate = Year(Date()) & "-" & Month(Date()) & "-" & iDag

For iDag = 1 to DatePart("d", DateSerial(Year(Date()), Month(Date())+1, 0)) 'da´n innan första dagen i 
aDagar(iDag) = WeekDayName(DatePart("w",Year(Date()) & "-" & Month(Date()) & "-" & iDag))
Next

For iDag= 1 to DatePart("d", DateSerial(Year(Date()), Month(Date())+1, 0)) 'da´n innan första dagen i 
response.write iDag &"   " & aDagar(iDag) & "<br>"
next
%>
```

 Nu behöver jag er hjälp med attfå fram veckonummren och lista de på dess rätta plats tex:

> veckonummer
> 1 fredag

Permalänk: https://www.webforum.nu/p/1133150

## #5 — PatrikB, 2003-08-10T20:51Z

Börjar med den "första konstigheten":

```
intDaysInMonth = GetDaysInMonth(dte)
```

sätter en variabel, intDaysInMonth, med returvärdet från en funktion som har ett datum som argument. Retur värdet beror på vilken månad det är, 1, 2, 3 ... osv. Är det månad 1, 3, 5,7,8,10,12 så returneras 31 dagar, månad 2 kan ju ha antingen 28 eller 29 dagar. Så i Case 2 så måste jag göra en test om 29 februari är ett giltigt datum, är det det så returneras 29 annars 28. Sista case är de övriga månaderna som har 30 dagar.

Nästa konstighet:

```
For i = 1 TO intDaysInMonth step 7
```

Jag vet första datumet som ALLTID är 1 (start värdet i loopen).
Det den ska loopas mot är antal dagar som jag redan har "räknat" ut. MEN, det är här konstigheten kommer - step 7.
Dvs, jag kommer att börja på 1 och sedan "hoppa" 7 steg då varje vecka har 7 dagar.

Hoppas du förstod mitt lilla svammel här ovan, annars är det bara att fråga igen.

cya,
/PatrikB

Permalänk: https://www.webforum.nu/p/1133151

## #6 — plelkes, 2003-08-11T05:53Z

Tyvärr befinner jag mig på jobbet så jag kan ej prova, MEN

> Jag vet första datumet som ALLTID är 1 (start värdet i loopen). 
> Det den ska loopas mot är antal dagar som jag redan har "räknat" ut. MEN, det är här konstigheten kommer - step 7. 
> Dvs, jag kommer att börja på 1 och sedan "hoppa" 7 steg då varje vecka har 7 dagar.

 Gäller detta även för typ augusti 2003, som ju börjar på en fredag, och därför bara har "3 dagar"?

Permalänk: https://www.webforum.nu/p/1133307

## #7 — PatrikB, 2003-08-11T09:29Z

Spelar ingen roll "vilken dag" i veckan du räknar på. 
Du vet ju att den första kommer i varje månad, om det sedan är dag 1 eller 6 eller 3 eller vilken dag i ordningen det är spelar ingen roll. Den kommer ändå att räkna ut vilken vecka som just det aktuella datumet befinner sig i.
Om datumet befinner sig på fredagen och du sedan steppar i steg om 7 kommer nästa datum att landa på nästkommande fredag osv ... MEN, veckonummret för den aktuella veckan kommer att ges.

cya,
/PatrikB

Permalänk: https://www.webforum.nu/p/1133379

---

Tråden på webben: https://www.webforum.nu/amne/asp/83947-lista-aktuell-månads-veckonummer
