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

Ändra datumformat

Rekommendera Poster

Gäst

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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

I filen post.asp står det så här:

 

datum = Now()

 

Kanske är det här jag behöver ändra?

 

 

/Viktor

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Ä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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

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

 

Dela detta inlägg


Länk till inlägg
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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

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

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

Oj, sorry...jag förstod inte riktigt vart jag skulle lägga den någonstans...

 

Dela detta inlägg


Länk till inlägg
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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

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]

Dela detta inlägg


Länk till inlägg
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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

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

Dela detta inlägg


Länk till inlägg
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?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

jaa, du... jag kör ju Safari på en Mac och jag hittar faktiskt inte vart man stänger av "visa egna http-felmeddelanden"

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

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

 

Dela detta inlägg


Länk till inlägg
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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

Du ska ändå ha stort tack för hjälpen! Jag är mycket tacksam. Jag fixar lite poäng till dig ;)

 

Dela detta inlägg


Länk till inlägg
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.

 

Dela detta inlägg


Länk till inlägg
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()

 

Dela detta inlägg


Länk till inlägg
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!

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

Oj, det där såg avancerat ut, vart ska jag lägga den där koden? Där datumet ska skrivas ut eller?

 

Dela detta inlägg


Länk till inlägg
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.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Gäst

Nu får jag upp samma felmeddelande igen. Jag är nog helt enkelt för kass på det här för att ens fatta...

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...