$date2 = date("d m Y", strtotime($date));
För att få fram gårdagens datum
$yesterday = date("d m Y", strtotime("-1 day"));
9 svar · 457 visningar · startad av rittfeldt
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.
$date2 = date("d m Y", strtotime($date));
För att få fram gårdagens datum
$yesterday = date("d m Y", strtotime("-1 day"));
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
Ä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;
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);}
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..
$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.
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.
Tack Matte. NU funkar det.