12
votes

Comment convertir une dateTime MySQL en PHP en format M / D / Y?

J'essaie de convertir une heureTetime MySQL en ce format M / D / Y, mais le code ci-dessous ne fonctionne pas, renvoie le 12/11/1969 que quelqu'un peut-il me montrer comment faire cela? XXX


0 commentaires

6 Réponses :


1
votes

Deux numéros:

1) Vous avez besoin d'une capitale Y p>

2) Vous avez besoin d'un type de date correct. P>

Essayez p>

$fromMYSQL = date_create  ('2007-10-17 21:46:59');    
echo date("m/d/Y", $fromMYSQL);


0 commentaires


43
votes

Je pense que ce que vous voulez vraiment, c'est ceci:

$fromMYSQL = '2007-10-17 21:46:59';
echo date("m/d/Y", strtotime($fromMYSQL));


2 commentaires

Modifiez la chaîne de format en "M / D / Y" et je vais uppoter. Il veut une année à 4 chiffres.


Génial. Travaux. Facile à mettre en œuvre.



7
votes

SQL:

date('m/d/Y', $result['date']);


0 commentaires

2
votes

J'ai couvert cela dans ma réponse à H TTP: //stackoverflow.com/questions/499014/i-need-a-changer-the-date-format-utilisateur-php/499021#499021 - Fondamentalement, date () s'attend à un horodatage UNIX à partir duquel il calcule la date / l'heure et les formats qui. Vous passez dans une chaîne qui provient du résultat de la requête MySQL, qui est probablement muquée par le canard de PHP en tapant quelque chose qui ressemble à un horodatage unix, mais n'a aucun sens.

J'explique quelques approches pour traiter les colonnes de date de ma réponse.


0 commentaires

3
votes

Le meilleur moyen est de convertir le format de date directement dans votre chaîne de requête:

function format_date($original, $format) {
    if (empty($original)) {
        $original = date("Y-m-d H:i:s");
    }
    $original = ereg_replace("30 Dez 1899", "30-01-1973", $original);
    $format = ($format=='date' ? "%m-%d-%Y" : $format);
    $format = ($format=='germandate' ? "%d.%m.%y" : $format);
    $format = ($format=='germandaydate' ? "%A, %d.%m.%Y" : $format);
    $format = ($format=='germantime' ? "%H:%M" : $format);
    $format = ($format=='germandatetime' ? "%d.%m.%y %H:%M:%S" : $format);
    $format = ($format=='datetime' ? "%m-%d-%Y %H:%M:%S" : $format);
    $format = ($format=='mysql-date' ? "%Y-%m-%d" : $format);
    $format = ($format=='mysql-datetime' ? "%Y-%m-%d %H:%M:%S" : $format);
    $format = ($format=='mssql-date' ? "%Y%m%d" : $format);
    $format = ($format=='mssql-datetime' ? "%Y%m%d %H:%M:%S" : $format);
    $format = ($format=='Ymd' ? "%Y-%m-%d" : $format);
    return !empty($original) ? strftime($format, strtotime($original)) : "";
}


0 commentaires