webForumDet fria alternativet

fel månad

ASP

3 svar · 179 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Varför felar funktionen på en månad?, skriver man dagens månad
(augusti) så printar den ut sista dagen i september fast den borde printa ut sista i oktober.

Private Function get_Lastmonthday(Current_date, Mathvalue)
Dim Current_day
    If Len(Current_date) = 0 Or Not isDate(Current_date) Then
    Current_date = Date()
    Else
    Current_date = CDate(Current_date)
    End If
    Current_day = Day(Dateserial(Year(Current_date), Month(Dateadd("M", Mathvalue, Current_date)), 1-1))
get_Lastmonthday = Current_day
End Function

response.Write get_Lastmonthday(Request.QueryString("Current_date"),+2)
Medlem sedan dec. 200012 464 inlägg
#2

argumenten till dateserial blir

2002, 10, 0

0:e dagen i oktober tolkas som sista dagen i september

Medlem sedan juni 20003 076 inlägg
#3

Är du säker på det?
Den skriver ju ut 30 (i fallet september)
Är vbscript-tolken så smart alltså att om det är dag 0 så hoppar den tillbaka till sista dagen i föreg. månad, eller?

red// Borde functionen skrivas om eller?

Medlem sedan juni 20003 076 inlägg
#4

Jag gjorde en liten justering på den, tack ändå!

Det där med 0 hade jag ingen aning om så då har man lärt sig nått nytt idag :)

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