Gå til innhold

Hjelp med datoformatering


Anbefalte innlegg

Hei!

 

Jeg har et nyhetsscript som legger inn nyheter i en mySQLtabell med SYSDATE der.. denne er jo lagra som YYYY-MM-DD HH:MM:SS - hvordan kan jeg få formatert denne slik at feks 2008-03-18 15:30:29 blir March 18th, 15:30?

 

:)

Lenke til kommentar
Videoannonse
Annonse

En mulig løsning er å bruke date-funksjonen for å formatere datoen til rett format.

 

Eksempel på hvordan man henter nåværende dato/tid fra mysql-databasen og formaterer med date().

$sql = "SELECT UNIX_TIMESTAMP()";
if($resultat = mysql_query($sql)) {
if($rad = mysql_fetch_row($resultat)) {
	echo date("F j, H:i", $rad[0]);
}
else {
	echo 'Fant ingen rader.';
}
}
else {
echo 'Feil ved spørring: ' . mysql_error();
}

 

For at date()-funksjonen skal kunne formatere datoen fra databasen er den nødt til å ha den på heltallsformat, dvs unix-timestamp som er antall sekunder siden 1 januar 1970 00:00:00 GMT. Ta en titt på UNIX_TIMESTAMP() i manualen.

 

Håper dette hjelper deg til å finne en komplett løsning, og hvis ikke så er det bare å spørre.

 

Edit: dersom du ikke skal bruke datoen til noe annet enn å vise den så kan det være like så greit å formatere den via spørringen og databasen.

 

I MySQL har du en funksjon som heter DATE_FORMAT for formatering av datoer.

 

Samme som forrige eksempel, men formatering foretatt av database

$sql = "SELECT DATE_FORMAT(SYSDATE(), '%M %e, %H:%i')";
if($resultat = mysql_query($sql)) {
if($rad = mysql_fetch_row($resultat)) {
	echo $rad[0];
}
else {
	echo 'Fant ingen rader.';
}
}
else {
echo 'Feil ved spørring: ' . mysql_error();
}

SYSDATE() i spørringen kan byttes ut med datofelt fra tabell.

 

Lykke til!

Endret av Zandar
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...