---
title: "Dagar i månad"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/9256-dagar-i-månad/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Erik Juhlin"
published: "2001-05-03T11:35:00.000Z"
updated: "2001-05-03T14:49:00.000Z"
replies: 37
views: 455
page: 2
pages: 2
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/9256-dagar-i-månad"
---

# Dagar i månad

_Sida 2 av 2._

## #21 — Janspeed, 2001-05-03T12:51Z

Nu vet ju inte jag hur du ska tilldela manad sitt värde. :)

```
dim ar, manad
ar = 1998
manad = 02

DatumFore = ar & "-" & manad & "-01"
DatumEfter = dateadd("m",1,DatumFore)

Dagar = DateDiff("d", DatumFore, DatumEfter)
```

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

## #22 — @nders, 2001-05-03T12:53Z

```
CDate(statyear & "-" & right("0" & statmonth,2) & "-01")
```

vad är det tänkt att den raden ska göra?

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

## #23 — Janspeed, 2001-05-03T12:54Z

Dina variabler är ju lite huller om buller Erik.

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

## #24 — Erik Juhlin, 2001-05-03T12:55Z

Nu ser det ut så här och verkar funka. Inga mer ändringar som jag bör göra?

```
<%
statyear = 1998
statmonth = 2

datebefore = CDate(statyear & "-" & right("0" & statmonth,2) & "-01")
dateafter = DateAdd("m", 1, datebefore)

daysinmonth = DateDiff("d", datebefore, dateafter)
Response.Write daysinmonth
%>
```

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

## #25 — Janspeed, 2001-05-03T13:01Z

Lysande. Vilket teamwork. :)

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

## #26 — Janspeed, 2001-05-03T13:04Z

För mig funkade det utan right().

```

dim ar, manad
ar = 1998
manad = 2

DatumFore = ar & "-" & manad & "-01"
DatumEfter = dateadd("m",1,DatumFore)

Dagar = DateDiff("d", DatumFore, DatumEfter)

Response.Write Dagar
```

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

## #27 — Janspeed, 2001-05-03T13:07Z

dvs. båda fungerade. Det är kanske min server som e speciell.

...Eller kanske inte. :)

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

## #28 — Janspeed, 2001-05-03T13:11Z

Det känns så sorgligt att detta inlägga är löst. Vi som jobbade så bra tillsammans med problemet. 

...Usch vad deprimerad jag blev. Tror jag har suttit framför datorer för länge. :)

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

## #29 — Johnsen, 2001-05-03T13:25Z

Tjohooo!

Får jag kasta mig in i leken och säga DateSerial ?

```
dim ar, manad
ar = 1998
manad = 2

Response.Write right(DateSerial(ar,manad+1,0),2)
```

\------------------
\- J-O-H-N-S-E-N -

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

## #30 — Janspeed, 2001-05-03T13:38Z

När jag kör den funktionen så returnerar den **98** dagar i februari. Har du verkligen provat den?

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

## #31 — Janspeed, 2001-05-03T13:43Z

Tar inte DateSerial bara datumen och slår ihop dem?

Fast man skulle kunna skriva så här:

```
Dim ar, manad
ar = 1998
manad = 2

DatumFore = DateSerial(ar, manad, 1)
DatumEfter = dateadd("m",1,DatumFore)

Dagar = DateDiff("d", DatumFore, DatumEfter)

Response.Write Dagar
```

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

## #32 — Johnsen, 2001-05-03T13:44Z

Oj, det var en lång månad :)
Jag testade i PWS och det funkade utmärkt, fast man kanske inte kan göra så?

\------------------
\- J-O-H-N-S-E-N -

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

## #33 — PatrikB, 2001-05-03T13:58Z

... annars funkar denna klockrent ...

```
<%
dteYear = "1998"
dteMonth = "2"

Select Case dteMonth

	Case 1,3,5,7,8,10,12
		intDays = 31

	Case 2
		If IsDate("February 29, " & dteYear Then
			intDays = 29
		Else
			intDays = 28
		End If
	Case Else
		intDays = 30

End Select

Response.Write intDays
%>
```

cya,
PatrikB

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

## #34 — Johnsen, 2001-05-03T14:01Z

Man **skall** skriva så här! ;)

```
dim ar, manad
ar = 1998
manad = 2

Response.Write DatePart("d",DateSerial(ar,manad+1,0))
```

\------------------
\- J-O-H-N-S-E-N -

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

## #35 — Janspeed, 2001-05-03T14:11Z

> **DateSerial(år, månad, dag)** tar heltalen **år**, **månad** och **dag** och slår samman dem till ett datumvärde. Värdena kan vara negativa.

Jag hänvisar fortfarande till min och anders flashiga kod:

```
Dim ar, manad
ar = 1998
manad = 2
DatumFore = DateSerial(ar, manad, 1)
DatumEfter = dateadd("m",1,DatumFore)

Dagar = DateDiff("d", DatumFore, DatumEfter)

Response.Write Dagar
```

Som säkert funkar överallt. :)

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

## #36 — Janspeed, 2001-05-03T14:15Z

Sorry! Källan på mitt citat tidigare var från "Lär dig Active Server Pages 3.0 på 3 veckor" av Scott Mitchell & James Atkinson från 4GuysFromRolla.com

Om det nu var nån som var intresserad. :)

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

## #37 — Janspeed, 2001-05-03T14:40Z

Tufft. Det fungerade ju guld, Johnsen. Men det är ju lustigt att asp:n godkänner att du har en dag 0. :)

\[Redigerat av Janspeed den 03 maj 2001\]

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

## #38 — Johnsen, 2001-05-03T14:49Z

Varför skulle det inte gå med 0? 0 är ju dag 1-1 dvs dagen innan den första.

Anledningen till att det blev fel i mitt första inlägg är datumformatet. I PWS blev det svenskt: 1970-01-01, men på andra servrar gav det: January 1, 1970
\------------------
\- J-O-H-N-S-E-N -

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/9256-dagar-i-månad/page2  
Föregående sida: https://www.webforum.nu/amne/asp/9256-dagar-i-månad.md
