J'ai un champ de saisie html avec un écho php. L'écho lit à partir d'un champ de base de données avec un horodatage. J'ai besoin de changer le format de la date sortie.
La base de données a le champ sql et le format par défaut 'datetime'.
Comment puis-je changer cela en jj / mm / aaaa hh: mm?
J'ai essayé de lire la documentation sur le changement de date via php mais à cause de la variable et du champ de base de données, je ne semble pas être en mesure de le formuler correctement.
Voici un exemple de champ que j'essaie de modifier: -
<?php echo $update->micp_edit_TIMESTAMP; ?>
3 Réponses :
Vous pouvez sélectionner la valeur de la base de données avec le format approprié si vous le souhaitez. Essayons de cette façon en utilisant DATE_FORMAT()
SELECT DATE_FORMAT(your_column_name, '%d/%m/%Y %H:%i') FROM your_tablename
Note aux lecteurs, DATE_FORMAT ( ) est spécifique à MySQL. Puisque (au moment de la rédaction de cet article) cette question n'est pas balisée avec un SGBD spécifique, il se peut que l'OP n'utilise pas MySQL et devra rechercher comment la fonction de formatage de date correcte est appelée dans son environnement.
Merci @Curious_Mind, j'utilise MySQL et j'ai maintenant étiqueté la question de manière appropriée.
@LeeColarelli pas de prob. Heureux que cela vous aide en quelque sorte. Bonne chance :)
Merci encore. C'est une bonne réponse mais malheureusement ne correspond pas à la façon dont notre code est.
Selon le manuel php:
Style orienté objet
<?php
$date = date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($date, 'Y-m-d');
?>
Style procédural
<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>
Les exemples ci-dessus sortie:
15/02/2009
Voir: http://php.net/manual/en/datetime.createfromformat.php
Vous pouvez adapter les exemples pour utiliser les formats que vous avez et dont vous avez besoin en regardant dans le manuel qui explique les chaînes de format. Et bien sûr, remplacez les variables par vos propres variables.
Rapide et sale
//asumming this is a DATETIME field in your database
echo date('d/m/Y H:i', strtotime($update->micp_edit_TIMESTAMP));
Si vous utilisez MySQL, utilisez la réponse de @Curious_Mind
Merci. Celui-ci est parfait pour notre code et fonctionne bien.