webForumDet fria alternativet

Svensk formatering på datumet...

9 svar · 329 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

Japp ännu en fråga... ;)

Hur gör man i PHP?

Jag hämtar ett datum i MsSql:en o så vill jag att det ska visar i svenskt format alltså :)

/Grodan

KimMedlem sedan jan. 20007 697 inlägg
#2

I vilket format står det nu?

------------------
de'nim

GrodanBollMedlem sedan sep. 2001788 inlägg
#3

Typ:
'Oct 15 2001 12:00AM'

O jag vill ha det typ:
'2001-10-15 00:00'

Red. I Ms SQL har jag skrivit in det som '2001-10-15 00:00'.

Hur gör man?
Kollar lite på setlocale-funktionen men vet inte riktuígt hur jag ska skriva.

/Grodan

[Redigerat av GrodanBoll den 30 nov 2001]

GrodanBollMedlem sedan sep. 2001788 inlägg
#4

Har denna koden nu, men får bara fram datumet '1970-01-01 01:00', någon som vet varför?

Red. Ja datumen ska ju bli någe helt annat, men det framgick kanske? ;)

/Grodan

while ($row = mssql_fetch_array($result))
	{
		$strangen = "<tr><td>";
		$datum = $row["nyhetDatum"];
		$strangen .= strftime("%Y-%m-%d %H:%M", $datum) ;
		$strangen .= "</td></tr><tr><td>";
		$strangen .= $row["nyhetRubrik"];
		$strangen .= "</td></tr>";
		
		echo($strangen);
	}

[Redigerat av GrodanBoll den 30 nov 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Det kan du väl göra direkt i din select-sats.

$query = "select convert(char(20),nyhetDatum,20) from nyheter";

------------------
essentitia preter non sans multiplicandum

GrodanBollMedlem sedan sep. 2001788 inlägg
#6

Japp tack Lars G, funka alldeles utmärkt... jag satte det i samband med 'sustr'-funktionen o fick ut precis vad jag ville :D *bugar o bockar*

Men jag undrar fortfarande varför inte 'strftime'-funktionen inte fungerade?
Någon som vet? :q

/Grodan

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Andra argumentet till strftime är en timestamp (int) och du skickar in en string.

------------------
essentitia preter non sans multiplicandum

GrodanBollMedlem sedan sep. 2001788 inlägg
#8

Ja just det det har jag hört talas om när du nämner det... datumen för php börjar vid 1970-01-01 00:00:00, e det så?

Så man måste lägga till tid o krabba för att det ska bli rätt då?

/Grodan

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Do, du behöver räkna ut antalet sekunder sedan 1970-01-01. Du kan göra det i select

$query = "select datediff(n,'1970-01-01',datecolumn) from ogrish";

Sen så borde det finnas någon Php-funktion som tar ett datum och returnerar en timestamp. (Du kan ju söka i manualen.)

------------------
essentitia preter non sans multiplicandum

JesterMedlem sedan sep. 200188 inlägg
#10

Eftersom svaret på frågan redan dykt upp så tänkte jag bara tipsa om formatet datetime i mySQL.
Om du även sätter det datum du frågar efter är det perfekt eftersom formatet blir YYYY-MM-DD tt:mm:ss.
För att sätta det med hjälp av mySQL använd NOW(), t ex när en post skapas.
Ex: INSERT(...,UPPLAGT,..)VALUES(...,NOW(),..)

126 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)