Just nu i M3-nätverket
Gå till innehåll

Ändra datumformat


Gäst

Rekommendera Poster

Hej!

 

Jag är totalt okunnig inom ASP och har fått ett script av en kompis. Scriptet hanterar min blogg. Det funkar utmärkt men jag tycker datum och tid på inlägg och kommentarer visas på ett dåligt sätt. Så här står det: "1/20/2006 5:59:35 PM". Jag skulle vilj att det istället skrevs ut så här: "20 Januari 2006, 17:59". Går detta att fixa på något sätt? Jag bifogar koden nedan. Jag är mycet tacksam för svar! Ursäkta att det blev så mycket kod =(

 

Mvh

Viktor

 

 

<%

Dim sDatabaseConnection

sDatabaseConnection = "DRIVER={MySQL ODBC 3.51 Driver};"_

& "SERVER=localhost;"_

& "DATABASE=********;"_

& "UID=********;"_

& "PWD=*********;"

 

'######################################################################################

'# COUNT RECORDS FIRST

'######################################################################################

Dim sQueryStatus

 

Dim intRecordsPerPage

Dim intPages

Dim sLimitPart 'LIMIT 0,1 -----> LIMIT {START_NUMBER,RECORDS_PERPAGE}

Dim sStartQuery

Dim sMaxStart

Dim sProjectPrev

Dim sProjectNext

intRecordsPerPage = 5 'How many records to show per page

 

Dim sqlProjectCount

Dim connCount, rsCount

Dim sProjectCount

sqlProjectCount = "SELECT COUNT(id) FROM bloggar"

'Response.Write(sqlProjectCount)

Set connCount = Server.Createobject("ADODB.Connection")

Set rsCount = Server.CreateObject("ADODB.Recordset")

connCount.open sDatabaseConnection

Set rsCount = connCount.Execute(sqlProjectCount)

If rsCount.eof then

sProjectCount = 0

Else

sProjectCount = rsCount.Fields(0) 'number of records

End If

connCount.close

set connCount=nothing

set rsCount=nothing

'Response.Write(sProjectCount)

 

'######################################################################################

'# SIMPLE PAGING

'######################################################################################

sStartQuery = Request.QueryString("start")

 

'Get total pages

If intRecordsPerPage < sProjectCount then

intPages = sProjectCount / intRecordsPerPage

End If

 

'here we modify the number if it has a decimal, a better solution maybe would be to use formatnumber

Dim instrIntPages

instrIntPages = Instr(intPages,".")

 

'If after the decimal there is a 0 then we need to add a page

If instrIntPages > 0 then

intPages = Left(intPages,instrIntPages) + 1

End If

 

'Lets create the limit for the sql

'LIMIT 0,1 -----> LIMIT {START_NUMBER,RECORDS_PERPAGE}

If sStartQuery <> "" AND isNumeric(sStartQuery) then

sLimitPart = "LIMIT " & sStartQuery & "," & intRecordsPerPage

Else

sLimitPart = "LIMIT " & "0," & intRecordsPerPage

End If

 

'Lets figure out what the max start number is

sMaxStart = (intPages*intRecordsPerPage)-intRecordsPerPage

 

If sStartQuery <> "" AND isNumeric(sStartQuery) then

sStartQuery = CINT(sStartQuery)

Else

sStartQuery = 0

End If

 

 

 

 

 

'Now its time to select our projects

Dim connP, rsP

Dim sqlProjects

 

Dim sPid

Dim sSubject

 

sqlProjects = "SELECT * FROM bloggar ORDER BY id DESC " & sLimitPart

%>

 

<html>

<head>

<title>viktorgustafsson.se/blogg</title>

 

<LINK REL="stylesheet" HREF="../stil.css" TYPE="text/css">

</style>

 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

 

</head>

 

<body>

 

 

 

 

 

<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="375" BORDERCOLOR="#999966">

<TR>

<TD valign="top">

 

<%

Set connP = Server.Createobject("ADODB.Connection")

Set rsP = Server.CreateObject("ADODB.Recordset")

connP.open sDatabaseConnection

Set rs = connP.Execute(sqlProjects)

%>

 

<%

if rs.eof Then

%>

Just nu är bloggen tom. <br>

<%

else

 

Do while not rs.eof

id = rs("id")

SQL = "SELECT * FROM svar WHERE bloggid = " & id & " ORDER BY id DESC"

Set rs2 = connp.Execute(SQL)

%>

<hr><br><br><b><%=rs("rubrik")%></b> <span class="f">- <%=rs("datum")%></span>

<p>

<img src="bilder/<%=rs("bild")%>" width="375" border="0">

 

<p><%=rs("text")%>

 

 

 

 

 

 

 

 

<p><a href="kommenterablogg.asp?id=<%=id%>"><i>Klicka

här för att kommentera denna blogg</i></a></p>

<%

if rs2.eof then

else

%>

 

<%

Do while not rs2.eof

%>

<br>

Kommentar av <span class="f">- <%=rs2("avsandare")%></span> <a href="mailto:<%=rs2("epost")%>"><%=rs2("epost")%></a>

<br>Postad <span class="f">-  <%=rs2("datum")%></span>

<br><span class="f"><i><%=rs2("text")%></span></i>

<br><br>

 

 

<%

rs2.MoveNext

loop

End If

 

rs.MoveNext

loop

End If

 

%>

<br><br>

<div align="left" class="greyt">Totalt antal bloggar: <%=sProjectCount%></div>

 

 

<% Dim queryPageOn

queryPageOn = Request.QueryString("page")

If NOT isNumeric(queryPageOn) AND NOT sStartQuery = "0" then

queryPageOn = "1"

End If

queryPageOn = CINT(queryPageOn)

'Now lets create our previous / next buttons and disable them if they are not needed.

If sMaxStart < 0 then sMaxStart = 0

 

If sStartQuery = "" or sStartQuery = "0" then 'PREVIOUS DISABLED

sProjectPrev = "<a span >Föregående sida</span>"

ElseIf sStartQuery > 0 then 'PREVIOUS ENABLED

sProjectPrev = "<a href='?start=" & sStartQuery - intRecordsPerPage & "&page="& queryPageOn-1 & "'>Föregående sida</span></a>"

End If

 

'Next

If sMaxStart = sStartQuery then 'NEXT DISABLED

sProjectNext = "<a span >Nästa sida</span>"

ElseIf sStartQuery < sMaxStart then 'NEXT ENABLED

if queryPageOn = 0 then

queryPageOn = 1

end if

sProjectNext= "<a href='?start=" & sStartQuery + intRecordsPerPage & "&page="& queryPageOn+1 & "'>Nästa sida</span></a>"

End If

Response.Write(sProjectPrev & "  ")

'# Create Page Numbers & Links

Dim iPages, iPagesTemp

 

For iPages=1 to intPages

iPagesTemp = iPages-1

 

If NOT queryPageOn=iPages then

Response.write "<a href='?start=" & iPagesTemp*intRecordsPerPage & "&page="& iPages & "' >" & iPages & "</a>  "

Else

Response.write "[<a href='?start=" & iPagesTemp*intRecordsPerPage & "&page="& iPages & "' >" & iPages & "</a>]  "

End If

Next

Response.Write("  "&sProjectNext)

%>

 

</TD>

 

</TR>

</TABLE>

 

</body>

</html>

 

 

[inlägget ändrat 2006-01-21 10:31:37 av viektor]

Länk till kommentar
Dela på andra webbplatser

  • Svars 58
  • Skapad
  • Senaste svar

Ändra till detta:

(Lägg Session.LCID = 1053(id för Sverige) i början av din asp-kod)

 

<%
Session.LCID = 1053

datum = FormatDateTime(Now,1)&", "&FormatDateTime(Now,4)
Response.Write datum
%>

 

Så blir det som du vill ha det.

 

EDIT:

Ett litet tips!

När du ska lägga in mycket kod så markera koden och tryck på [ LOG ]-knappen så tar det inte så mycket plats om man nu inte vill läsa koden.

 

[inlägget ändrat 2006-01-21 11:47:57 av Micke_skane]

[inlägget ändrat 2006-01-21 11:52:21 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Tack för svaret!

 

Som sagt, jag kan inte tillräckligt mycket om det här. Vart menar du att jag ska lägga in tillägget? I den fil som jag visade hela innehållet (ovan) eller i den fil som "datum= Now()" ligger?

 

Ska jag lägga tillägget allra längst upp i koden?

 

/Viktor

 

Länk till kommentar
Dela på andra webbplatser

Jadu, efter att letat igenom din kod så hittade jag ett ställe där du skriver ut rs("datum") vilket är en utskrift ur databasen där värdet, förmodar jag, är ett datum av typen now().

 

Do while not rs.eof 
id = rs("id")
SQL = "SELECT * FROM svar WHERE bloggid = " & id & " ORDER BY id DESC"
Set rs2 = connp.Execute(SQL)
%>
<hr><br><br><b><%=rs("rubrik")%&g
t;</b> <span class="f">- <%=rs("datum")%></span>

 

Om du byter till detta istället:

 

Do while not rs.eof 
id = rs("id")
SQL = "SELECT * FROM svar WHERE bloggid = " & id & " ORDER BY id DESC"
Set rs2 = connp.Execute(SQL)
[color="#ff0000"]datumet = rs("datum")
datum = FormatDateTime(datumet,1)&", "&FormatDateTime(datumet,4)[/color]
%>
<hr><br><br><b><%=rs("rubrik")%&g
t;</b> <span class="f">- <%[color="#ff0000"]=datum[/color]%></span>

 

Du ser var jag markerat med rött!

Så tror jag att det blir rätt...

 

[inlägget ändrat 2006-01-21 12:23:14 av Micke_skane]

[inlägget ändrat 2006-01-21 12:23:55 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Ja, nu hände det grejer!

 

Så här står det nu: "Wednesday, January 18, 2006, 18:58"

 

Går det att få det till: "Onsdag 18 januari 2006, 18:58"?

 

Eller beror det på servern (jag har b-one)?

 

/Viktor

 

Länk till kommentar
Dela på andra webbplatser

Lägg den precis i början av asp-koden på sidan där datumet skriv ut.

 

<%
Session.LCID = 1053

'Övrig kod...

%>

 

EDIT: Tack för poängen!

 

 

[inlägget ändrat 2006-01-21 14:21:43 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Jag får fasen inte till det. Så här är det allra längst upp i koden på "visablogg.asp":

 

<%

 

Dim sDatabaseConnection

sDatabaseConnection = "DRIVER={MySQL ODBC 3.51 Driver};"_

& "SERVER=localhost;"_

& "DATABASE=viktorgustafsso;"_

& "UID=viktorgustafsso;"_

& "PWD=*****;"

 

 

När jag lägger koden här så får jag bara ett felmeddelande när sidan ska öppnas:

 

<%

 

Session.LCID = 1053

 

Dim sDatabaseConnection

sDatabaseConnection = "DRIVER={MySQL ODBC 3.51 Driver};"_

& "SERVER=localhost;"_

& "DATABASE=viktorgustafsso;"_

& "UID=viktorgustafsso;"_

& "PWD=vigu21666749;"

 

[inlägget ändrat 2006-01-21 14:33:33 av viektor]

Länk till kommentar
Dela på andra webbplatser

Vad är det för felmeddelande?

 

Prova att skriva ut det såhär då:

datumet = rs("datum")

Response.Write WeekDayName(weekday(datumet))&" "& day(datumet)&" "& MonthName(month(datumet))&" "&Year(datumet)&", "&FormatDateTime(datumet,4)

 

EDIT:

Tänkte bara visa skillnaden mellan olika LCID-värden.

Jag hämtar ett datum-värde(nu()-typ) ur databasen och

 

Session.LCID = 1033 (engelska)

ger Saturday 21 January 2006, 12:14

 

Session.LCID = 1053 (svenska)

ger lördag 21 januari 2006, 12:14

 

och då har jag använt ovanstånde utskrift osv...

 

[inlägget ändrat 2006-01-21 14:44:52 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Nej, nu skrev den inte ut något datum alls.

 

Så här ser felmeddelandet ut:

 

[bild bifogad 2006-01-21 14:45:57 av viektor]

[bild bifogad 2006-01-21 14:46:26 av viektor]

796862_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Har du stängt av "Visa egna http-felmeddelnde"?

Vertyg - Internet alternativ - Avancerat

 

Om du inte gjort det innan så vad får du då för felmeddelande nu?

 

Länk till kommentar
Dela på andra webbplatser

Du kör Suns ASP ser jag och den hanterar inte LCID korrekt dessvärre.

 

[inlägget ändrat 2006-01-21 14:53:47 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Vet tyvärr inte så mycket om Suns Asp!

Hoppas någon annan kan ge dig ett svar på det!

 

Tyvärr har jag inte tillgång till en Mac just nu så där kan jag inte heller hjälpa dig.

 

EDIT:

Denna tråden borde flyttas till Asp & VBScript.

 

[inlägget ändrat 2006-01-21 15:13:03 av Micke_skane]

[inlägget ändrat 2006-01-21 15:15:55 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Jaha, ok, då går det inte att få till datumet på svenska då?

Jodå, du kan ju skriva en egen funktion som plockar ut de olika delarna ur datumet och bygger upp en egendefinierad sträng för representationen. Säg till om du vill ha ett exempel.

 

Länk till kommentar
Dela på andra webbplatser

Äh, du får ett exempel i vilket fall:

Function GetDate()
dt=Now
Dim arrMonths
sMonths="Januari,Februari,Mars,April,Maj,Juni,Juli,Augusti,September,Oktober,November,December"
arrMonths=Split(sMonths,",")
sDt=Day(dt) & " " & arrMonths(Month(dt)-1) & ", " & Hour(dt) & ":" & Minute(dt)
GetDate=sDt
End Function
Response.write GetDate()

 

Länk till kommentar
Dela på andra webbplatser

Jag är mycket tacksam
.

Ähh, det var väl inget... :)

 

Det är alltid lika kul att hjälpen uppskattas!

Ger en mer anledning att vilja hjälpa!

 

 

 

Länk till kommentar
Dela på andra webbplatser

Själva funktionen kan du lägga var du vill, förslagsvis längst upp i koden.

När du sedan vill skriva ut datumet använder du som jag skrev Response.Write GetDate() där du vill.

 

Länk till kommentar
Dela på andra webbplatser

Nu får jag upp samma felmeddelande igen.

Du måste förstås plocka bort den där tidigare LCID-grejen också.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...