Hej! Du får använda dig av lcid: Hej Anna-Karin! Ändra din meta HTTP-EQUIV.... 1252 till Du kan ju testa med; Det fungerade inte. Har Du någon teori varför? Har inte möjlighet att testa funktionen nu, kanhända att "mid()"-funktionerna har fel startvärden, men du kanske kan ha användning för en funktion av den här typen? Se bara till att alla (amerikanska) datum skickas igenom den innan de skrivs ut. På vilket sätt fungerar det inte? Vilken datatyp använder du i databasen? Om du lagrar datumet som text så kommer det inte fungera. Du bör använda datum datatypen i databasen.Datumformat
Jag har ett diskussionsforum på www.klubbsaga.nu. Informationen ligger på en Access-databas och innehåller bl.a. datum i formatet YYYY-MM-DD, men när det skrivs ut på skärmen kommer det i amerikansk format. Vad ska jag ändra i det bifogade programmet för det ska skrivas ut i samma format som i databasen?
Tacksam för hjälp!
MVH
Klas
<%@LANGUAGE="VBSCRIPT"%>
<!--#Include File="Adovbs.Inc"-->
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=windows-1252">
<title>Sagaforum</title>
<link rel="stylesheet" type="text/css" href="Saga.css">
<base target="huvud">
</head>
<body stylesrc="Sidan01/Startsida.htm" bgcolor="#99CCFF">
<h2 class="p2">Samtliga inlägg Nytt inlägg</h2>
<%
Set conn = Server.CreateObject("ADODB.Connection")
'Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\Inetpub\wwwroot\Forum6.mdb"
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("Forum6.mdb")
sql = "SELECT * FROM Inlagg ORDER BY ID DESC"
Set rs = conn.Execute (sql,,adCmdText)
%>
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
%>
<p>" target="D">
<%=Server.HTMLEncode(rs.Fields("Amne1").Value)%>
/ <%=Server.HTMLEncode(rs.Fields("Datum1").Value)%> <br>
<%=Server.HTMLEncode(rs.Fields("Avsandare1").Value)%>
<b>Ant. svar: </b><%=Server.HTMLEncode(rs.Fields("Antsvar").Value)%>
<b>
Sen. svar: </b><%=Server.HTMLEncode(rs.Fields("Sensvar").Value)%><br>
</p>
<%rs.MoveNext
loop%>
<%
rs.close
Conn.Close
%>
</body>
</html>
Sv: Datumformat
<code>
<%@LANGUAGE="VBSCRIPT"%>
<%
Option explicit
session.lcid = 1053
%>
</code>
(har för mig att det är så..)Sv: Datumformat
Om du använder option Excplicit så måste du deklarerar alla variablar.
Det fungerar med endast Session.LCID = 1053 också.
//Anna-KarinSv: Datumformat
Det var enkelt, men fungerade ändå inte. Vad har jag gjort för fel? Det blev fortfarande AM datum.
MVH
Klas
<%@LANGUAGE="VBSCRIPT"%>
<%
Session.LCID = 1053
%>
<!--#Include File="Adovbs.Inc"-->
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=windows-1252">
<title>Sagaforum</title>
<link rel="stylesheet" type="text/css" href="Saga.css">
<base target="huvud">
</head>
<body stylesrc="Sidan01/Startsida.htm" bgcolor="#99CCFF">
<h2 class="p2">Samtliga inlägg Nytt inlägg</h2>
<%
Set conn = Server.CreateObject("ADODB.Connection")
'Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\Inetpub\wwwroot\Forum6.mdb"
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("Forum6.mdb")
sql = "SELECT * FROM Inlagg ORDER BY ID DESC"
Set rs = conn.Execute (sql,,adCmdText)
%>
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
%>
<p>" target="D">
<%=Server.HTMLEncode(rs.Fields("Amne1").Value)%>
/ <%=Server.HTMLEncode(rs.Fields("Datum1").Value)%> <br>
<%=Server.HTMLEncode(rs.Fields("Avsandare1").Value)%>
<b>Ant. svar: </b><%=Server.HTMLEncode(rs.Fields("Antsvar").Value)%>
<b>
Sen. svar: </b><%=Server.HTMLEncode(rs.Fields("Sensvar").Value)%><br>
</p>
<%rs.MoveNext
loop%>
<%
rs.close
Conn.Close
%>
</body>
</html>Sv: Datumformat
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
och se om det hjälper.
//Anna-KarinSv: Datumformat
<code>
<%@LANGUAGE="VBSCRIPT" LCID = 1053%>
<!--#Include File="Adovbs.Inc"-->
</code>
Vilket är ett snyggare sätt. Eftersom det bara påverkas sidan och inte sessionen.Sv: Datumformat
Klas
<%@LANGUAGE="VBSCRIPT" LCID = 1053%>
<!--#Include File="Adovbs.Inc"-->
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=windows-1252">
<title>Sagaforum</title>
<link rel="stylesheet" type="text/css" href="Saga.css">
<base target="huvud">
</head>
<body stylesrc="Sidan01/Startsida.htm" bgcolor="#99CCFF">
<h2 class="p2">Samtliga inlägg Nytt inlägg</h2>
<%
Set conn = Server.CreateObject("ADODB.Connection")
'Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\Inetpub\wwwroot\Forum6.mdb"
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("Forum6.mdb")
sql = "SELECT * FROM Inlagg ORDER BY ID DESC"
Set rs = conn.Execute (sql,,adCmdText)
%>
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
%>
<p>" target="D">
<%=Server.HTMLEncode(rs.Fields("Amne1").Value)%>
/ <%=Server.HTMLEncode(rs.Fields("Datum1").Value)%> <br>
<%=Server.HTMLEncode(rs.Fields("Avsandare1").Value)%>
<b>Ant. svar: </b><%=Server.HTMLEncode(rs.Fields("Antsvar").Value)%>
<b>
Sen. svar: </b><%=Server.HTMLEncode(rs.Fields("Sensvar").Value)%><br>
</p>
<%rs.MoveNext
loop%>
<%
rs.close
Conn.Close
%>
</body>
</html>Sv: Datumformat
<code>
Function SE_DateFormat(AM_date)
If mid(AM_date, 3, 1) = "/" Then 'simpel koll för att se om det är ett amdatum
dd = left(AM_date, 2)
mm = mid(AM_date, 4, 2)
yyyy = right(AM_date, 4)
SE_DateFormat = yyyy & "-" & mm & "-" & dd
Else
SE_DateFormat = AM_date
End If
End Function
</code>
Ex:
<code>
<%=SE_DateFormat(DB("Datum1"))%>
</code>
Lägg till funktionen någonstans på sidan, så ska den gå att använda sedan.Sv: Datumformat
Du länkar dina inläg med hjälp av Amne1 fältet. Ställer inte det till problem om två inlägg har samma värde i Amne1? JAg tror det är bättre att använda en räknare.
<code>
<%@LANGUAGE="VBSCRIPT" LCID = 1053%>
<!--#Include File="Adovbs.Inc"-->
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=windows-1252">
<title>Sagaforum</title>
<link rel="stylesheet" type="text/css" href="Saga.css">
<base target="huvud">
</head>
<body stylesrc="Sidan01/Startsida.htm" bgcolor="#99CCFF">
<h2 class="p2">Samtliga inlägg Nytt inlägg</h2>
<%
Function ISODate(Value)
If IsDate(Value) Then
ISODate = Year(Value) & "-" & Right("0" & Month(Value), 2) & "-" & Right("0" & Day(Value), 2) & " " & Right("0" & Hour(Value), 2) & ":" & Right("0" & Minute(Value), 2) & ":" & Right("0" & Second(Value), 2)
Else
ISODate = "#Invalid date#"
End If
End Function
Dim rs
Dim conn
Dim strSQL
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("Forum6.mdb")
strSQL = "SELECT * FROM Inlagg ORDER BY ID DESC"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, conn, , , adCmdText
Do Until rs.eof
%>
<p>" target="D">
<%=Server.HTMLEncode(rs.Fields("Amne1").Value)%>
/ <%=ISODate(rs.Fields("Datum1").Value%> <br>
<%=Server.HTMLEncode(rs.Fields("Avsandare1").Value)%>
Ant. svar: <%=rs.Fields("Antsvar").Value%>
Sen. svar: <%=ISODate(rs.Fields("Sensvar").Value)%><br>
</p>
<%
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
</code>