IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Datetime (mysql) et php.


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut Datetime (mysql) et php.
    Salut,

    J'ai mis dans une table mysql de type datetime des valeurs de ce style: 2011-06-21 16:19:00

    Est-ce qu'il existe une fonction native php pour transformer juste le début, c'est à dire "2011-06-21" en "21 mai 2011" ?

    Merci,
    Vincent.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Regarde du coté de strtotime et date

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    Regarde du coté de strtotime et date
    Oui mais ces fonctions servent à construire une date, je m'en sers comme ceci: date("Y-m-d H:i:s") avant de la mettre dans la base de données.

    Par contre, j'ai peut-être mal compris, on ne peut pas s'en servir d'en l'autre sens, transformer une variable qui a "2011-06-21 16:19:00" en 21 mai 2011 !
    non ?

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo date('d m y', strtotime('2011-06-23 12:00:00'));
    Pour passer en Français, regarde du coté de setlocacle.

  5. #5
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    bon voilà comment je procère

    tu envois la donnée heure dans ta base avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?
    Sql="UPDATE ou INSERT ........champ DATE=NOW()....";
    ...
    ?>
     
    tu recupere la valeur en format anglais et tu la convertie format français
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $dateMySQL1 = $mavriable heure que je recupere;
    //objet DateTime correspondant :
    $date1 = new DateTime($dateMySQL1);
    en esperant t'avoir aidé

  6. #6
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    excuse j'ai oublié la dernière étape

    visualisation de la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo ($date1->format('d/m/Y H:i:s'));
    ?></

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Points : 264
    Points
    264
    Par défaut
    C'est bon, j'y suis arrivé, merci pour votre aide.

    Si ça peut aider, voici ma fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    function get_date($datetime) {
      return date('d', strtotime($datetime))." ".get_month(date('m', strtotime($datetime)))." ".date('Y', strtotime($datetime)) ;
    }
     
    function get_month($month) {
      switch ($month) {
        case "1":
          return "Janvier" ;
          break ;
        case "2":
          return "Février" ;
          break ;
        case "3":
          return "Mars" ;
          break ;
        case "4":
          return "Avril" ;
          break ;
        case "5":
          return "Mai" ;
          break ;
        case "6":
          return "Juin" ;
          break ;
        case "7":
          return "Juillet" ;
          break ;
        case "8":
          return "Aout" ;
          break ;
        case "9":
          return "Septembre" ;
          break ;
        case "10":
          return "Octobre" ;
          break ;
        case "11":
          return "Novembre" ;
          break ;
        case "12":
          return "Décembre" ;
          break ;
        }
    }
    Ou $datetime a pour valeur: 2011-06-24 10:47:00 et ça me retourne bien 24 Juin 2011

  8. #8
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Voici une version raccourcie de ta fonction getMonth:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function get_month ($num) {
      if ($num < 1 || $num > 12) return false;
      $months = array('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre');
      return $months[$num -1];
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Export MySql en php
    Par pierre50 dans le forum Débuter
    Réponses: 5
    Dernier message: 11/08/2010, 13h46
  2. [MySQL] php datetime mysql
    Par TomDelonge dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/04/2010, 09h49
  3. MySql et PHP : valeur NULL
    Par fffonck dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/02/2006, 17h02
  4. Installer apache, mysql et php sur une red hat 9 !
    Par Ruddy16 dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 07/11/2005, 21h41
  5. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo