rittfeldtMedlem sedan jan. 200375 inlägg
Jag skulle behöva hjälp med att konvertera ett datum som ligger i en variabel. Den är i formatet "0000-00-00 00:00:00".
Hur gör jag för att ta ut bara datumet och ta bort tiden ifrån det ursprungliga värdet?
Ser väl ut nåt sånt här nu (mest lite av en chansning, hade ingen större aning om hur jag skulle gå till väga, och uppenbarligen fungerade det inte heller):
$today = date("d m Y");
$date2 = date("d m Y", $date);
if ($date2 == $today){ echo ("IDAG");}
else{echo ($date);}
$date är alltså datumstämpeln i min databas i enlighet med formatet jag nämnde först
Det jag vill åstakomma är att i min gästbok testa om datumet inlägget skrevs är dagens eller gårdagens datum för att i så fall skriva "i dag" eller "i går" i stället för bara siffror.
MatteMedlem sedan aug. 20002 970 inlägg
$date2 = date("d m Y", strtotime($date));
För att få fram gårdagens datum
$yesterday = date("d m Y", strtotime("-1 day"));
rittfeldtMedlem sedan jan. 200375 inlägg
tackar :)
Har inte prövat än, men fungerar säkert.
//edit:
Har prövat nu.
Den andra funktionen för att ta fram gårdagens datum funkar finfint. Men den första resulterar i att datumet alltid blir: "01 01 1970". Det är ju rätt format, precis så jag vill ha det, men med den lilla detaljen att det inte verkar fungera :OO
MatteMedlem sedan aug. 20002 970 inlägg
Är formatet på invärdet ($date) rätt så ska det fungera.
Se följande exempel:
$date = '2005-04-17 18:05:10';
$date2 = date("d m Y", strtotime($date));
echo $date2;
rittfeldtMedlem sedan jan. 200375 inlägg
Det var knepigt. För det är i det formatet. Har kollat och dubbelkollat.
Här är koden igen (har ändrat namnen på variablerna för enkelhetens skull):
$thedate = date("d m Y", strtotime($date));
$yesterday = date("d m Y", strtotime("-1 day"));
if ($yesterday == $thedate){ echo ("IGÅR");}
else{echo ($date);}
MatteMedlem sedan aug. 20002 970 inlägg
Om du gör ett echo på $date, vad får du då ?
Hur är värdet i $date skapat ?
rittfeldtMedlem sedan jan. 200375 inlägg
echo $date ger ex: 2005-04-08 20:49:17
och inmatningen:
$query = "INSERT INTO guestbook (name, email, message, entry_date) " .
"VALUES ('$name', '$email', '$message', current_timestamp)";
//edit
Nej jag ljög för dig, echo på $date ger 17.04.2005 | 16:32
Gör ju om formatet i query-strängen:
$query = "SELECT id, name, email, message, DATE_FORMAT(entry_date, '%d.%m.%Y | %H:%i') ".
Nu ska vi pröva igen
tack..
MatteMedlem sedan aug. 20002 970 inlägg
$date = '2005-04-08 20:49:17';
echo date("d m Y", strtotime($date));
Fungerar alldeles utmärkt.
Du måste på något sätt få med ett osynligt skräptecken eller något annat i din variabel.
Hur hämtar du den ?
[EDIT]
Såg nu din ändring.
Se till att inte formattera värdet när du hämtar.
rittfeldtMedlem sedan jan. 200375 inlägg
Tusen tack för hjälpen, ska ut med bågen en svänga nu. Ska titta över problemet senare i kväll igen.
Men nu tror jag att jag kan lösa det när jag vet hur det ska se ut iaf.
rittfeldtMedlem sedan jan. 200375 inlägg
Tack Matte. NU funkar det.