Avatar billede software Nybegynder
12. februar 2003 - 09:54 Der er 4 kommentarer og
1 løsning

kalender problem

Hej

Jeg har fundet en kalender på nettet, der er bare det lille problem at når man f.eks. står i feb. måned og trykker på linket til næste måned (mats) så springer den frem til december 2003, trykker man igen kommer man til marts 2004, igen januar 2004, april 2004, februar 2004 osv.

Linket:
<A HREF="kalender.asp?date=<%= SubtractOneMonth(dDate) %>" style="color: #FFFFFF">&lt;--</A>

Jeg vil tro fejlen skal findes et sted her ??:
Function GetDaysInMonth(iMonth, iYear)
    Select Case iMonth
        Case 1, 3, 5, 7, 8, 10, 12
            GetDaysInMonth = 31
        Case 4, 6, 9, 11
            GetDaysInMonth = 30
        Case 2
            If IsDate("February 29, " & iYear) Then
                GetDaysInMonth = 29
            Else
                GetDaysInMonth = 28
            End If
    End Select
End Function

Function GetWeekdayMonthStartsOn(iMonth, iYear)
    GetWeekdayMonthStartsOn = WeekDay(CDate(iMonth & "/1/" & iYear))
End Function

Function SubtractOneMonth(dDate)
Dim iDay, iMonth, iYear   
    iDay = Day(dDate)
    iMonth = Month(dDate)
    iYear = Year(dDate)

    If iMonth = 1 Then
        iMonth = 12
        iYear = iYear - 1
    Else
        iMonth = iMonth - 1
    End If
   
    If iDay > GetDaysInMonth(iMonth, iYear) Then iDay = GetDaysInMonth(iMonth, iYear)

    SubtractOneMonth = CDate(iMonth & "-" & iDay & "-" & iYear)
End Function

Håber nogen kan hjælpe
/Software
Avatar billede radion Nybegynder
12. februar 2003 - 09:58 #1
Her har vi jo kun linket og koden der går en måned tilbage.. har du ikke noget kode til hvor den går en måned frem?
Avatar billede software Nybegynder
12. februar 2003 - 10:02 #2
Selvfølgelig...min fejl.

Function AddOneMonth(dDate)
Dim iDay, iMonth, iYear   
    iDay = Day(dDate)
    iMonth = Month(dDate)
    iYear = Year(dDate)

    If iMonth = 12 Then
        iMonth = 1
        iYear = iYear + 1
    Else
        iMonth = iMonth + 1
    End If
   
    If iDay > GetDaysInMonth(iMonth, iYear) Then iDay = GetDaysInMonth(iMonth, iYear)

    AddOneMonth = CDate(iMonth & "-" & iDay & "-" & iYear)
End Function
Avatar billede eagleeye Praktikant
12. februar 2003 - 10:37 #3
Hvordan ser function kaldet ud til SubtractOneMonth.:

SubtractOneMonth(dDate)


Min bud er det fordi du køre med DK dato men de steder hvor datoer bliver bygget op af strenge er et i UK format. Så kommer fejlen i denne linie:

SubtractOneMonth = CDate(iMonth & "-" & iDay & "-" & iYear)

Det giver denne dato for idag.: 03-12-2003
Som UK dato er det den 12 marts
Som DK dato er det den 3 december


Så ret linien

SubtractOneMonth = CDate(iMonth & "-" & iDay & "-" & iYear)

Til:
SubtractOneMonth = CDate(iDay & "-" & iMonth & "-" & iYear)
Avatar billede eagleeye Praktikant
12. februar 2003 - 10:37 #4
På samme måde i AddOneMonth
AddOneMonth = CDate(iMonth & "-" & iDay & "-" & iYear)

Til:
AddOneMonth = CDate(iDay & "-" & iMonth & "-" & iYear)
Avatar billede software Nybegynder
12. februar 2003 - 10:57 #5
Du havde ret....Nu virker det, som det skal....Mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester