sql >> Database teknologi >  >> RDS >> Mysql

Jeg skal ændre datoformatet ved hjælp af php

Første ting først

  echo "<td><strong> ("d/m/y",". $row['date'] .")</strong></td>";

Denne linje ser forkert ud; Jeg formoder, at den burde læse noget i stil med

  echo "<td><strong>" . date( "d/m/y", $row['date'] ) . "</strong></td>";

Bemærk de manglende funktionsopkald og sammenkædningsoperatører. I øvrigt, selvom dette er syntaktisk korrekt (så vidt jeg kan se), gør det muligvis ikke det, du leder efter, afhængigt af hvilken $row['date'] faktisk indeholder - det skal være et Unix-tidsstempel for date() at grok det ordentligt.

For at få datoen som et Unix-tidsstempel kan du bruge MySQL-funktionen UNIX_TIMESTAMP() når du vælger dato, f.eks.

SELECT *, UNIX_TIMESTAMP(date) AS date_ts FROM ...

Du kan derefter få adgang til $row['date_ts'] som normalt, og send det til date() funktion til formatering. Alternativt kan du bruge noget som strtotime() at parse den aktuelle værdi, der returneres for at få et tidsstempel fra det.

Et yderligere alternativ er at lade MySQL formatere datoen på dine vegne ved at bruge dens DATE_FORMAT() fungere; igen, du kan få adgang til denne værdi returneret fra forespørgslen og udskrive den.



  1. MySQL UTF-8 tegnindsættelsesproblem

  2. Hvordan gemmer man, håndterer ordrens samlede beløb i et ordrer, ordredetaljer skema?

  3. Hvad er forskellen mellem at bruge og tænde i table joins i MySQL?

  4. Konvertering af dato/tidsstreng til unix-tidsstempel i MySQL