Varför funkar inte denna kod: Vilken rad får du felet på? Är sDate ett "riktigt" datum eller en textsträng som "ser ut som" ett datum? Den säger så här: Hämtar du datumet från servern via "date" eller hämtar du det från en databas? Av värdet du har i sDate ("[undefined]") så sluter jag mig till att du hämtar datumet från klienten med javascript. Stämmer det? Fredrik jag vet det där men Session.LCID Vad är det för fel på FormatDateTime("datum",2) Detta ska ge dig datumet i långt format. Tjena! Nu har jag fixat så att alla funktionerna som står med från början är med och funkar. Function RepDate(pDate) Har testat funktione tillsammans med underfuntionerna och det fungerar bra. Såg att det hade blivit fel i 2 poster på datumet och därför så funkade inte funktionen som den skulle.Fel med datumkod
<code>
Function ConvertToSwedishLongDate(sDate)
dim iDay
dim iYear
dim str
dim dDate
dim strMonthName
dim strWeekDayName
dDate = "" & RIGHT(sDate, 4) & "-" & MID(sDate, 4, 2) & "-" & LEFT(sDate, 2) & ""
dDate = CDate(RepDate(dDate))
iYear = Year(dDate)
strMonthName = PropCase(MonthName(Month(dDate)))
iDay = Day(dDate)
strWeekDayName = PropCase(WeekDayName(Weekday(dDate)))
str = strWeekDayName & " "
str = str & iDay & " "
str = str & strMonthName & " "
str = str & iYear
ConvertToSwedishLongDate = str
End Function
</code>
Jag får detta fel:
<code>
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[undefined]'
</code>
sDate är: 25/06-2004 12:48:35Sv: Fel med datumkod
/JohanSv: Fel med datumkod
<code>
Microsoft VBScript runtime error '800a000d'
Type mismatch: '[undefined]'
/date.asp, line 13
</code>
Flyttade över koden till en ensam fil (date.asp) och den ser ut så här:
<code>
01: <%
02: Function ConvertToSwedishLongDate(sDate)
03: dim iDay
04: dim iYear
05: dim str
06: dim dDate
07: dim tDate
08:
09: dim strMonthName
10: dim strWeekDayName
11:
12: ' tDate = RIGHT(sDate, 4) & "-" & MID(sDate, 4, 2) & "-" & LEFT(sDate, 2)
13: dDate = CDate(RepDate(sDate))
14:
15: iYear = Year(dDate)
16: strMonthName = PropCase(MonthName(Month(dDate)))
17: iDay = Day(dDate)
18: strWeekDayName = PropCase(WeekDayName(Weekday(dDate)))
19:
20: str = strWeekDayName & " "
21: str = str & iDay & " "
22: str = str & strMonthName & " "
23: str = str & iYear
24: ConvertToSwedishLongDate = str
25: End Function
26:
27: Response.Write ConvertToSwedishLongDate(2004-08-29) ' Har testat både 2004-08-29 & 29/08-2004 och båda ger samma fel.
28: %>
</code>Sv: Fel med datumkod
Om du använder "date" och inte har en svensk version på servern kan du ange följande längst upp på din sida så får du svenskt datumformat...
<code>
<%@LCID=1053%>
</code>
//FredrikSv: Fel med datumkod
I så fall är det fel på ditt javascript, eftersom det inte hämtar något datum. "[undefined]" betyder helt enkelt att variabeln inte har något värde alls.Sv: Fel med datumkod
Andreas... Jag har inte deklarerat den.. Måste kolla om jag kan hitta nåt om den. Sv: Fel med datumkod
Session.LCID = 1053 gör att du får svenskt format på det.
1= Kort datum.
2= långt datum
3= Kort tid
4 =lång tid.
//Anna-KarinSv: Fel med datumkod
Fixade till din kod som nedan,
<%
Function ConvertToSwedishLongDate(sDate)
dim iDay
dim iYear
dim str
dim dDate
dim tDate
dim strMonthName
dim strWeekDayName
dDate = CDate(sDate) 'Tog bort anropet till en funktion som inte finns med här
iYear = Year(dDate)
strMonthName = MonthName(Month(dDate)) 'Tog bort anropet till en funktion som inte finns med här
iDay = Day(dDate)
strWeekDayName = WeekDayName(Weekday(dDate)) 'Tog bort anropet till en funktion som inte finns med här
str = strWeekDayName & " "
str = str & iDay & " "
str = str & strMonthName & " "
str = str & iYear
ConvertToSwedishLongDate = str
End Function
Response.Write ConvertToSwedishLongDate("29/8-2004") 'Här saknades sitationstecken runt datumsträngen
%>
SvenneSv: Fel med datumkod
Den funkar fint på min nyhets sida men då jag vill använda den i min gästbok så klagar den på CDate..
Jag har ingen aning om varför..
<b>* EDIT *</b>
Felmeddelandet
<code>
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'CDate'
</code>
Det är samma sorts datum som skickas in på Nyheter och Gästboken.Sv: Fel med datumkod
RepDate = Replace(pDate,"/","-")
End Function
Function PropCase(Text)
If Len(Text) > 0 Then
PropCase = UCase(Left(Text, 1)) & LCase(Right(Text, Len(Text) - 1))
Else
PropCase = ""
End If
End FunctionSv: Fel med datumkod
Det är förmodligen ett felaktigt datumformat som CDate inte klarar att konvertera till datum.
Testa att skriva ut funktionen RepDate,
<%
Response.Write(RepDate(sDate))
%>
Då kan du se om datumet ser felaktigt ut innan det ska konverteras.
Om du får tex. 20040826 dvs. datumet utan bindestreck kommer detta fel att uppstå.
SvenneSv: Fel med datumkod
Så nu funkar allt..
Tack ska ni ha!