Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TRANSFORMER UNE DATE FORMAT ANGLOPHONE( AAAA-MM-JJ) EN FORMAT FRANÇAIS (JJ/MM/AAAA) ET INVERSEMENT !


Information sur la source

Catégorie :Date / Heure Classé sous : change, date, format, français, anglophone Niveau : Initié Date de création : 16/04/2007 Date de mise à jour : 22/05/2007 21:29:30 Vu / téléchargé: 16 352 / 336

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


Description

Cette fonction permet de transformer une date au format anglophone : aaaa-mm-jj
au format français : jj/mm/aaaa
et inversement !

Utile lorsqu'on stocke des dates dans MySQL au format anglais mais que nous, francophones, nous souhaitons les afficher à notre façon !! lol
 

Source

  • <?php
  • /****************************************************************/
  • /* Transforme les formats de date (anglais - français) */
  • /****************************************************************/
  • // $date : la date à transformer
  • // $format : format de destination voulue :
  • // en : pour anglais
  • // rien : convertit automatiquement dans le format français
  • function Change_formatDate($date, $format = 'fr')
  • {
  • $r = '^([0-9]{1,4}).([0-9]{1,2}).([0-9]{1,4})$';
  • if($format === 'en')
  • return ereg_replace($r, '\\3-\\2-\\1', $date);
  • return ereg_replace($r, '\\3/\\2/\\1', $date);
  • }
  • // Petit exemple n°1
  • $ma_date_fr_1 = '16/04/2007';
  • $ma_date_en_1 = Change_formatDate($ma_date_fr_1, 'en');
  • echo $ma_date_en_1;
  • echo "\n";
  • // Petit exemple n°2
  • $ma_date_en_2 = '2007-05-26';
  • $ma_date_fr_2 = Change_formatDate($ma_date_en_2);
  • echo $ma_date_fr_2;
  • ?>
<?php

/****************************************************************/
/*      Transforme les formats de date (anglais - français)     */
/****************************************************************/
// $date : la date à transformer
// $format : format de destination voulue :
//      en : pour anglais
//      rien : convertit automatiquement dans le format français
function Change_formatDate($date, $format = 'fr')
{
    $r = '^([0-9]{1,4}).([0-9]{1,2}).([0-9]{1,4})$';
	
    if($format === 'en')
    return ereg_replace($r, '\\3-\\2-\\1', $date);
	
    return ereg_replace($r, '\\3/\\2/\\1', $date);
}


// Petit exemple n°1

$ma_date_fr_1 = '16/04/2007';

$ma_date_en_1 = Change_formatDate($ma_date_fr_1, 'en');

echo $ma_date_en_1;

echo "\n";

// Petit exemple n°2

$ma_date_en_2 = '2007-05-26';

$ma_date_fr_2 = Change_formatDate($ma_date_en_2);

echo $ma_date_fr_2;

?>

Conclusion

Pratique pour modifier le format d'affichage d'une date.

Moi je m'en sers lorsque je récupère mes dates d'un formulaire au format français (jj/mm/aaaa) et que je souhaite stocker dans MySQL car j'utilise le type DATE dans MySQL qui stocke les dates au format anglophone AAAA-MM-JJ.

Et donc inversement, une date qui est stockée au format anglophone est facilement affichable à notre format français ;)

En espérant que ca puisse vous aider.

++
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

16 avril 2007 18:34:39 :
Petite modification pour la mise en page ;)
22 mai 2007 21:26:26 :
Prise en compte des commentaires ;)
22 mai 2007 21:28:09 :
Mise en page du code
22 mai 2007 21:29:30 :
Mise en page du code

Commentaires et avis

signaler à un administrateur
Commentaire de ImmortalPC le 17/04/2007 22:25:58

Salut,

J' aurais fait plus simple :

<?php
// Transforme les formats de date
// $date : la date à transformer
// $p : format de destination (en ou fr)
function Change_formatDate($date, $p)
{
// Le séparateur dans chaque format
$sep_en = '-';
$sep_fr = '/';

if($p === 'en')
return substr($date, 6, 4).$sep_en.substr($date, 3, 2).$sep_en.substr($date, 0, 2);

// Fr
return substr($date, 8, 2).$sep_fr.substr($date, 5, 2).$sep_fr.substr($date, 0, 4);
}

function Change_formatDate2($date, $sep='-', $new_sep='/')
{
    if($sep === '/' && $new_sep === '/'){$new_sep = '-';}

    $date = explode($sep, $date);
    return implode($new_sep, array_reverse($date));
}
echo Change_formatDate2('2007-04-02');
?>

@+

signaler à un administrateur
Commentaire de Gally le 18/04/2007 02:07:50

Bonjour,

Pour la convertion il y a plus simple je penses avec "$date = ereg_replace('^([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})$','\\3/\\2/\\1', $date);"

Bonne continuation

signaler à un administrateur
Commentaire de ImmortalPC le 19/04/2007 10:50:09

Salut,

J' avais pas pensé aux expréssions régulières ^^

Juste un petit truc, il faudrait faire en sorte que la date soit simplement réversible avec n' importe quel séparateur :

$date = ereg_replace('^([0-9]{1,4}).([0-9]{1,2}).([0-9]{1,4})$','\\3/\\2/\\1', $date);

@+

signaler à un administrateur
Commentaire de cedriclomb le 22/04/2007 15:48:14

Bonjour,

Et pourquoi pas strtotime() http://fr3.php.net/strtotime ?

signaler à un administrateur
Commentaire de vincseize le 01/05/2007 17:00:06

Merci, simple et toujours pratique ...

;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Convertir une date en français [ par malaysia ] Bonsoir,J'ai pass&#233; l'apr&#232;s-midi sur un truc tout b&#234;te je suppose mais que je n'arrive pas &#224; r&#233;soudre. Je r&#233;cup&#232;re u Convertir une date en français au format anglais pr la stocker ds une Bdd [ par b_medamine ] Avec une base que g r&#233;cup&#233;r&#233;, j'ai des les dates au format fran&#231;ais genre 12-01-2005 .... quand je r&#233;cup&#232;re mes donn&#23 PHP et MySQL : format de date [ par vir76 ] Bonjour,Je voudrais convertir le format de date de mySQL (aaaa-mm-jj) en format français (jj-mm-aa). J'ai essayé plusieurs fonctions présentes sur ce date et MySQL [ par LaTatadu91 ] Bonjour tout le monde, j'ai une table MySQL qui comporte un champ date au format DATETIME je r&#233;cup&#233;re d'un formulaire une date dans ce form Probleme de date [ par davidcian ] Bonjour,Bon la je tourne en rond depuis un moment...Je vous explique:2 variables (string):$date_deb = $_POST['date1']; =&gt; au format 12/03/2008 $dat verifier date formulaire [ par thezuzu ] Bonjour, je ne c'est pas si cette question a deja ete pose alors je la demande quand je voudrais avoir un code en php ou javascript qui verifirait si Chargement d'une date farfelue avec la fonction STRTOTIME [ par ecolom ] Bonjour les z'amis, je ressors mes rames pour un bon moment... pfffffffffffffj'ai un petit soucis avec la commande STRTOTIME.En fait, je désirais affi formater une date [ par m2rtech ] bonjour,j'ai une variable date :$Date_encoursqui est sous le format anglais (Y-m-s)je souhaite l'affichersous le format 13 Aou 2008merci de votre aide format de date adns phpadmin [ par CyberMen30 ] Bonjour!J'aimerais avoir un champ date de format jour/mois/ann&#233;e 00-00-0000Est-ce que je peux mettre comme type de ce champ INT et entrer les val strftime("%Y-%m-%d %H:%M:%S") [ par olk22r ] Bonjour à vous tous !J'ai un petit problème de comparaison de date avec la fonction strftime("%Y-%m-%d %H:%M:%S")...Je m'explique : j'insère dans ma b


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.