Je souhaite afficher le champ TIME de ma table mysql sur mon site Web, mais plutôt que d'afficher 21:00:00 etc. Je veux afficher 20:00. J'ai besoin d'une fonction/code pour le faire ou même des pointeurs dans la bonne direction. Marquera la première réponse avec du code comme réponse correcte.Conversion de mysql TIME du format 24 HR au format AM/PM
Répondre
Check this out: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
J'imagine que vous voudriez date_format().
Exemple: DATE_FORMAT (date de $, "% r")
Vous pouvez également sélectionner la colonne comme au Horodatage nix utilisant la fonction UNIX_TIMESTAMP()
de MYSQL. Ensuite, formatez-le en PHP. OMI, est plus souple ...
select a, b, c, UNIX_TIMESTAMP(instime) as unixtime;
Le PHP utilise le format de la fonction date()
& il une manière que vous voulez.
<?php echo date('Y/m/d', $row->unixtime); ?>
La raison pour laquelle j'aime cette méthode par opposition au formatage dans SQL est b/c, pour moi, le format de la date est une décision d'affichage & (à mon avis) le formatage de la date SQL se sent mal .. Pourquoi mettre la logique d'affichage dans votre SQL?
Maintenant, si vous ne traitez pas les données en PHP et que vous faites des requêtes ad hoc, alors DATE_FORMAT()
est le chemin à parcourir. Mais si vous voulez que les données s'affichent sur le Web, j'irais avec UNIX_TIMESTAMP()
et je ferais le formatage en PHP ...
Je veux dire ... laisse dire que vous voulez changer comment la date est & affiché sur la page ... ne se sentirait-il pas "off" d'avoir à modifier votre SQL pour un affichage tweak?
mes 2 cents
J'ai une classe qui contient tout mon code de gestion de la date. Dans le code de connexion, j'appelle simplement une fonction de cette classe qui formate l'heure en utilisant DATE_FORMAT(). Il n'apparaît donc pas vraiment dans le code d'affichage et ne se sent pas éteint Les dates Mysql sont simplement plus lisibles que les horodatages Unix. – Ali
+1 pour dire "le format de la date est une décision d'affichage" en effet, il est, je suis d'accord avec vous 200% sur ce –
j'avais essayé de faire la même chose et a obtenu cette page de retour d'une recherche Google. J'ai travaillé une solution pour l'heure 21:00:00;
utilisant
DATE_FORMAT(<field>,'%l.%i%p')
qui est retourné 21:00
mettre une fonction
LOWER()
autour d'elle pour revenir 21:00
donc le code complet est; DATE_FORMAT(<field>,'%l.%i%p')
A travaillé OK pour moi ...
afficher la date & des données temporelles au format AM/PM avec l'exemple suivant ...
SELECT DATE_FORMAT(`t`.`date_field`,'%h:%i %p') AS `date_field` FROM `table_name` AS `t`
OU
SELECT DATE_FORMAT(`t`.`date_field`,'%r') AS `date_field` FROM `table_name` AS `t`
Les deux fonctionnent correctement.
il s'affichera au format AM/PM. mais si je voulais entrer le format de format AM/PM au format de temps mysql? – itskawsar