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

Ho bisogno di cambiare il formato della data usando php

Per prima cosa

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

Questa linea sembra sbagliata; Sospetto che dovrebbe leggere qualcosa come

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

Si noti la chiamata di funzione mancante e gli operatori di concatenazione. Per inciso, mentre questo è sintatticamente corretto (per quanto posso vedere), potrebbe non fare quello che stai cercando, a seconda di cosa $row['date'] contiene effettivamente - deve essere un timestamp Unix per date() per grok correttamente.

Per ottenere la data come timestamp Unix, puoi utilizzare la funzione MySQL UNIX_TIMESTAMP() quando si seleziona la data, ad es.

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

Puoi quindi accedere a $row['date_ts'] come di consueto e passalo in date() funzione per la formattazione. In alternativa, puoi usare qualcosa come strtotime() per analizzare il valore corrente restituito per ottenere un timestamp da quello.

Un'ulteriore alternativa consiste nel formattare la data in MySQL per tuo conto, utilizzando il suo DATE_FORMAT() funzione; di nuovo, puoi accedere a questo valore restituito dalla query e stamparlo.