Avatar billede alleslev Nybegynder
30. april 2009 - 11:27 Der er 10 kommentarer og
1 løsning

Fejl i dato i ASP kalender script

Hej

Jeg har et færdigt kalneder script jeg har fundet på nettet, men jeg har nu opdaget at dato'erne ikke passer med den kalender resten af verdenen lever efter. det vil sige at 1 maj er i den kalender en mandag f.eks.

http://www.mc-hasselager.dk/default.asp?side=kalender&month=5&year=2009

på denne adresse kan i se kalenderen. og koden til den kommer her:

elseif request.querystring("side") = "kalender" then



        %><!--#include file="dsn.asp"-->

<!--#include file="body.asp"-->

<html>

<head>

<title><%=RSBODY("Page_Title")%></title>



<!--#include file="style.asp"-->



</head>

<br>

<body bgcolor="<%=RSBODY("Background_Color")%>" text="<%=RSBODY("Font_Color")%>" link="<%=RSBODY("Link_Color")%>" vlink="<%=RSBODY("Visited_Link_Color")%>" alink="<%=RSBODY("Active_Link_Color")%>">



<%



navmonth = request.querystring("month")

navyear = request.querystring("year")



If navmonth = "" Then

    navmonth = Month(Date)

End If



If navyear = "" Then

    navyear = Year(Date)

End If



firstday = Weekday(CDate(navmonth & "/" & 1 & "/" & navyear))





leapTestNumbers = navyear / 4

leapTest = (leapTestNumbers) - Round(leapTestNumbers)

If navmonth = 2 Then

    If leapTest <> 0 Then

        lastDate = 28

    Else

        lastDate = 29

    End If

ElseIf ((navmonth = 4) OR (navmonth = 6) OR (navmonth = 9) OR (navmonth = 11)) Then

    lastDate = 30

Else

    lastDate = 31

End If



lastMonth = navmonth - 1

lastYear = navyear

If lastMonth < 1 Then

    lastMonth = 12

    lastYear = lastYear - 1

End If



nextMonth = navmonth + 1

nextYear = navyear

If nextMonth >12 Then

    nextMonth = 1

    nextYear = nextYear + 1

End If





dateCounter = 1

weekCount = 1



DateEnd = lastDate

DateBegin = firstDate



Weekday_Font = RSBODY("Weekday_Font")

Weekday_Font_Size = RSBODY("Weekday_Font_Size")

Weekday_Font_Color = RSBODY("Weekday_Font_Color")

Weekday_Background_Color = RSBODY("Weekday_Background_Color")

Date_Font = RSBODY("Date_Font")

Date_Font_Size = RSBODY("Date_Font_Size")

Date_Font_Color = RSBODY("Date_Font_Color")

Date_Background_Color = RSBODY("Date_Background_Color")

Event_Font = RSBODY("Event_Font")

Event_Font_Size = RSBODY("Event_Font_Size")

Event_Font_Color = RSBODY("Event_Font_Color")

Cell_Width = RSBODY("Cell_Width")

Cell_Height = RSBODY("Cell_Height")

Cell_Background_Color = RSBODY("Cell_Background_Color")

Border_Size = RSBODY("Border_Size")

Border_Color = RSBODY("Border_Color")

%>



<%=RSBODY("Header")%>



<table border="0" cellpadding="0" cellspacing="0" align="center">

<tr>

<td align="center">



<table border="0" cellpadding="2" cellspacing="0" width="100%">

<tr>

<td align="left" valign="bottom"><font face="verdana" size="2"><b><a href="default.asp?side=kalender&month=<%=lastMonth%>&year=<%=lastYear%>"><%If (RSBODY("Abbreviate_Months") = True) Then%><%=MonthName(lastMonth, true)%><%Else%><%=MonthName(lastMonth)%><%End If%></a></b></font></td>

<td align="center" valign="bottom"><font face="verdana" size="4"><b><%If (RSBODY("Abbreviate_Months") = True) Then%><%=MonthName(navMonth, true)%><%Else%><%=MonthName(navMonth)%><%End If%>&nbsp;<%=navyear%></b></font></td>

<td align="right" valign="bottom"><font face="verdana" size="2"><b><a href="default.asp?side=kalender&month=<%=nextMonth%>&year=<%=nextYear%>"><%If (RSBODY("Abbreviate_Months") = True) Then%><%=MonthName(nextMonth, true)%><%Else%><%=MonthName(nextMonth)%><%End If%></a></b></font></td>

</tr>

</table>



</td>

</tr>

<tr>

<td>



<table border="0" cellpadding="0" cellspacing="0" align="center">

<tr>

<td bgcolor="<%=Border_Color%>">



<table border="0" cellpadding="2" cellspacing="<%=Border_Size%>">

<tr>

<td width="<%=Cell_Width%>" align="center" bgcolor="<%=Weekday_Background_Color%>"><font face="<%=Weekday_Font%>" size="<%=Weekday_Font_Size%>" color="<%=Weekday_Font_Color%>"><b><%If (RSBODY("Abbreviate_Days") = True) Then%>Sun<%Else%>Sunday<%End If%></b></font></td>

<td width="<%=Cell_Width%>" align="center" bgcolor="<%=Weekday_Background_Color%>"><font face="<%=Weekday_Font%>" size="<%=Weekday_Font_Size%>" color="<%=Weekday_Font_Color%>"><b><%If (RSBODY("Abbreviate_Days") = True) Then%>Mon<%Else%>Monday<%End If%></b></font></td>

<td width="<%=Cell_Width%>" align="center" bgcolor="<%=Weekday_Background_Color%>"><font face="<%=Weekday_Font%>" size="<%=Weekday_Font_Size%>" color="<%=Weekday_Font_Color%>"><b><%If (RSBODY("Abbreviate_Days") = True) Then%>Tues<%Else%>Tuesday<%End If%></b></font></td>

<td width="<%=Cell_Width%>" align="center" bgcolor="<%=Weekday_Background_Color%>"><font face="<%=Weekday_Font%>" size="<%=Weekday_Font_Size%>" color="<%=Weekday_Font_Color%>"><b><%If (RSBODY("Abbreviate_Days") = True) Then%>Wed<%Else%>Wednesday<%End If%></b></font></td>

<td width="<%=Cell_Width%>" align="center" bgcolor="<%=Weekday_Background_Color%>"><font face="<%=Weekday_Font%>" size="<%=Weekday_Font_Size%>" color="<%=Weekday_Font_Color%>"><b><%If (RSBODY("Abbreviate_Days") = True) Then%>Thurs<%Else%>Thursday<%End If%></b></font></td>

<td width="<%=Cell_Width%>" align="center" bgcolor="<%=Weekday_Background_Color%>"><font face="<%=Weekday_Font%>" size="<%=Weekday_Font_Size%>" color="<%=Weekday_Font_Color%>"><b><%If (RSBODY("Abbreviate_Days") = True) Then%>Fri<%Else%>Friday<%End If%></b></font></td>

<td width="<%=Cell_Width%>" align="center" bgcolor="<%=Weekday_Background_Color%>"><font face="<%=Weekday_Font%>" size="<%=Weekday_Font_Size%>" color="<%=Weekday_Font_Color%>"><b><%If (RSBODY("Abbreviate_Days") = True) Then%>Sat<%Else%>Saturday<%End If%></b></font></td>

</tr>





<tr>

<% Do while weekCount <= 7

dateSelect = navmonth & "/" & dateCounter & "/" & navyear %>



<% If (weekCount < firstDay) OR (dateCounter > lastDate) Then %>

<td height="<%=Cell_Height%>" bgcolor="<%=Cell_Background_Color%>"><img src="im/clear.gif" height="1" width="1"></td>

<% else %>

<td height="<%=Cell_Height%>" bgcolor="<%=Date_Background_Color%>" valign="top"><a href="" onclick="window.open('date.asp?date=<%=dateSelect%>',

'mitvindue','width=400,height=200');return false;"><font face="<%=Date_Font%>" size="<%=Date_Font_Size%>" color="<%=Date_Font_Color%>"><b><%=dateCounter%></b></font><font face="<%=Event_Font%>" size="<%=Event_Font_Size%>" color="<%=Event_Font_Color%>">



<%

Set RSEVENT = Server.CreateObject("ADODB.RecordSet")

RSEVENT.Open "SELECT * FROM Events", Conn, 1, 3



Do while NOT RSEVENT.EOF

rsdate = RSEVENT("Date")

If (Day(rsdate) = dateCounter) AND (Month(rsdate) = CInt(navmonth)) AND (Year(rsdate) = CInt(navyear)) Then%>



<br>

<%If RSBODY("Event_Display") = True Then%>

<%=RSEVENT("Category")%>

<%Else%>

<%=RSEVENT("Event_Name")%>

<% End If



End If

RSEVENT.movenext

Loop

RSEVENT.close

%>



</font></a></td>



<%

dateCounter = dateCounter + 1

end if



weekCount = weekCount + 1

Loop

weekCount = 1

%>

</tr>

<% Do while dateCounter <= lastDate %>

<tr>

<% Do while weekCount <= 7

dateSelect = navmonth & "/" & dateCounter & "/" & navyear %>



<% If dateCounter > lastDate Then %>

<td height="<%=Cell_Height%>" bgcolor="<%=Cell_Background_Color%>"><img src="im/clear.gif" height="1" width="1"></td>

<% else %>

<td height="<%=Cell_Height%>" bgcolor="<%=Date_Background_Color%>" valign="top"><a href="" onclick="window.open('date.asp?date=<%=dateSelect%>',

'mitvindue','width=400,height=200');return false;"><font face="<%=Date_Font%>" size="<%=Date_Font_Size%>" color="<%=Date_Font_Color%>"><b><%=dateCounter%></b></font><font face="<%=Event_Font%>" size="<%=Event_Font_Size%>" color="<%=Event_Font_Color%>">



<%

Set RSEVENT = Server.CreateObject("ADODB.RecordSet")

RSEVENT.Open "SELECT * FROM Events", Conn, 1, 3

Do while NOT RSEVENT.EOF

rsdate = RSEVENT("Date")

If (Day(rsdate) = dateCounter) AND (Month(rsdate) = CInt(navmonth)) AND (Year(rsdate) = CInt(navyear)) Then%>



<br>

<%If RSBODY("Event_Display") = True Then%>

<%=RSEVENT("Category")%>

<%Else%>

<%=RSEVENT("Event_Name")%>

<% End If



End If

RSEVENT.movenext

Loop

RSEVENT.close

%>



</font></a></td>



<%

dateCounter = dateCounter + 1

end if



weekCount = weekCount + 1

Loop

weekCount = 1

%>

</tr>

<% Loop %>









</table>



</td>

</tr>

</table>



</td>

</tr>



<!-- Begin Ocean12 Technologies Copyright Notice -->

<!-- THIS CODE MUST NOT BE CHANGED -->

<tr>

<td align="center"><font face="Verdana" size="1">Maintained with the <a href="http://scripts.ocean12tech.com">Ocean<i>12</i> ASP Calendar Manager</a> v1.01<br>&copy;2001 <a href="http://scripts.ocean12tech.com">Ocean<i>12</i> Technologies</a>, all rights reserved. <a href="admin/default.asp">admin</a></font></td>

</tr>

<!-- End Ocean12 Technologies Copyright Notice -->



</table>



<%=RSBODY("Footer")%>



</body>

</html>

<!--#include file="dsn2.asp"--><%

   



          else

           

Håber der er nolge der har en løsning på problmet for funktionerne fejler intet.

MVH
Andreas
Avatar billede softspot Forsker
30. april 2009 - 11:32 #1
Nu har jeg ikke læst hele scriptet igennem, men jeg ville umiddelbart prøve at sætte Session.LCID = 1030 og se hvad kalenderen så kommer ud med...
Avatar billede alleslev Nybegynder
30. april 2009 - 11:36 #2
Hej. det står allerede i toppen af filen, så tror ikke problemet ligger der, men det kunne du self. ik se. men det står i toppen på default.asp
Avatar billede softspot Forsker
30. april 2009 - 11:46 #3
Der er for nogle datofunktioner et par ekstra parametre som angiver hvilken kalender der skal køres efter, f.eks. starter året (dvs. uge 1) i vores kaleder, i den uge som har mindst 4 dage tilbage, hvor andre kalendere starter efter nogle andre kriterier. Derfor kan det være du skal have angivet dette.

Ligeledes starter vores uger med mandag, hvor andre starter om søndagen. Derfor skal du også angive at første dag er mandag.

Jeg skal lige finde ud af hvilke funktioner det præcis handler om, men kig evt. i referencemanualen til VBScript på msdn, hvis du ikke har tid til at vente...
Avatar billede alleslev Nybegynder
30. april 2009 - 11:53 #4
Havde godt på fornemmelsen at det var noget i den retning, men har ikke meget forstand på det med de datoer så vis du har et bud på hvor fejlen kunne ligge har jeg tid noget. det er et script jeg klipped til tilbage i 2007 og mindes det virkede dengang.
Avatar billede softspot Forsker
30. april 2009 - 15:17 #5
Det kan være at du dengang have indstillet din server til at køre med LCID=1033 og at det derfor fungerede... eller hvad?
Avatar billede alleslev Nybegynder
30. april 2009 - 15:30 #6
Jeg har ikke instillet noget med serveren, hjemmesiden ligger på web10, men prøver lige at kopiere sitet til et andet web hotel........
Avatar billede softspot Forsker
30. april 2009 - 15:32 #7
Umiddelbart tager funktionerne

DateDiff (se http://msdn.microsoft.com/en-us/library/xhtyw595(VS.85).aspx) og DatePart (se http://msdn.microsoft.com/en-us/library/4kt42529(VS.85).aspx)

ekstra parametre som angiver hvilke dage der er første i ugen og første uge i året. Ligeledes tager funktionerne

weekday (se http://msdn.microsoft.com/en-us/library/t51x9wtx(VS.85).aspx) og weekdayName (se http://msdn.microsoft.com/en-us/library/00201has(VS.85).aspx) en ekstra (valgfri for weekday) parameter, som angiver hvilken dag der er den første i ugen. Det kan være du lige skal igennem koden og tilpasse det så din kode behandler dine datoer som danske.

Jeg vil dog mene dette burde fungere af sig selv, hvis din server er sat op til at køre med danske regionale indstillinger. Det kan være du i virkeligheden skal starte med at undersøge dette først :-)
Avatar billede alleslev Nybegynder
30. april 2009 - 15:49 #8
Ja syndes det er mærkeligt at det ikke fungere længere, har prøvet at smide hele koden på et andet webhotel men det er samme problem. men må prøve at løbe det i gennem det må kunne lade sig gøre....
Avatar billede alleslev Nybegynder
30. april 2009 - 18:02 #9
Så lykkeds det....måtte forsøge mig lidt frem og tilabge med nolge forskellige parametere med ved at ændre følgende linie fra:

firstday = Weekday(CDate(navmonth & "/" & 1 & "/" & navyear))

til

firstday = Weekday(CDate(navmonth & "/" & navyear))

så virked det...

Tak for forsøget og hjælpet softspot, vis du vil ha point for ulejligheden så smid et svar...
Avatar billede softspot Forsker
30. april 2009 - 20:06 #10
Velbekomme :-)
Avatar billede softspot Forsker
30. april 2009 - 22:26 #11
Tak for point :-)
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