webForumDet fria alternativet

Bort med sekunderna!

7 svar · 307 visningar · startad av Leijonkungen

LeijonkungenMedlem sedan apr. 200428 inlägg
#1

Jag är ingen höjdare på php och undrar hur man får bort sekunderna när man skriver ut dem från fältet "tid" i databasen? Som det är nu står det typ 12:23:00 och jag vill bara att det ska stå 12:13.

Tacksam för hjälp!

MeleaMedlem sedan juli 20033 147 inlägg
#2

substr

substr($tid,0,5);
LeijonkungenMedlem sedan apr. 200428 inlägg
#3

Kanon, det funkade! Tusen tack!

PeeerMedlem sedan mars 20025 907 inlägg
#4

Datumfunktioner bör användas på datum och strängfunktioner på strängar (har jag hört :OO)

date('H:i', strtotime($tid))
MeleaMedlem sedan juli 20033 147 inlägg
#5

Ser ingen anledning när det funkar att plocka ut den delen i strängen man behöver.
Eller? :)

PeeerMedlem sedan mars 20025 907 inlägg
#6

Njae, egentligen inte i det här fallet (vad jag vet iaf). Men fördelarna med date-funktionen är att du ju kan formatera datumet hur du vill, om du nu skulle ha det behovet.

GunnarDMedlem sedan juni 20014 290 inlägg
#7

Melea skrev:

Ser ingen anledning när det funkar att plocka ut den delen i strängen man behöver.
Eller? :)

Nackdelen med strängfunktionen är att den egentligen inte bryr sig om vad som står i strängen utan bara tar ut dom 5 första tecknen.

Ex. när timmen och/eller minuten är ensiffrig så blir det fel.

1:23:45 blir 1:23:
12:3:45 blir 12:3:
1:2:34 blir 1:2:3

Vilket inte är snyggt!

MatteMedlem sedan aug. 20002 975 inlägg
#8

Annars går det att göra direkt i SQL-frågan:

SELECT *, TIME_FORMAT(tid, '%H:%i') AS tid FROM tabell
130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)