web-dev-qa-db-fra.com

Formatage de la date au format lisible par l'homme

Disons que dans ma base de données mysql j'ai un horodatage 2013-09-30 01:16:06 et disons que cette variable est $ts.

Comment puis-je afficher cela pour afficher plus comme September 30th, 2013?

20
soniccool
$timestamp = "2013-09-30 01:16:06";
echo date("F jS, Y", strtotime($timestamp)); //September 30th, 2013

Notez l'utilisation de S pour obtenir le suffixe ordinal anglais de la journée.
Puisque vous utilisez déjà strtotime si vous avez besoin de données lisibles par l'homme pour l'heure actuelle vous pouvez simplement utiliser le mot clé " maintenant "comme dans strtotime("now")

Sources connexes

45
Juan Cortés

Utilisez strtotime() pour convertir cette chaîne en horodatage Unix, puis utilisez la fonction date() pour l'afficher comme vous le souhaitez.

echo date("F j, Y, g:i a",strtotime($ts)); 

Référence:

http://www.php.net/manual/en/function.strtotime.php

http://www.php.net/manual/en/function.date.php

17
Hanky Panky

Je ne pense pas que php soit même nécessaire là-bas. Vérifiez MySQL DATE_FORMAT() fonction.

Exemple:

SELECT DATE_FORMAT('2013-09-30 01:16:06', '%M %D, %Y %H:%i:%s') as `readable`;

Résultat:

September 30th, 2013 01:16:06

Pour une utilisation réelle:

SELECT
    DATE_FORMAT(`date_column`, '%M %D, %Y %H:%i:%s') as `readable`
FROM
    `your_table`;
4
BlitZ
echo date("F d Y",strtotime("2013-09-30 01:16:06"))
3
Burak Öztürk

requête mysql

 select UNIX_TIMESTAMP(datetime_field) as datetime_field from table;

PHP

echo date("F d Y", $datetime_field )
1
Anup Singh

Quelque chose comme:

<?php
$date = '2013-09-30 01:16:06';
$convertDate = date('F jS, Y h:i:s', strtotime($date));
echo $convertDate;
?>
1
Shudmeyer

Utilisez la fonction diffForHumans:

Carbon\Carbon::parse($ts)->diffForHumans()
0
Dinesh Naik