Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/06/2011, 10h55   #1
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
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.
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 11h29   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 011
Points : 5 011
Regarde du coté de strtotime et date
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 12h06   #3
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
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 ?
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 12h12   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 011
Points : 5 011
Code :
echo date('d m y', strtotime('2011-06-23 12:00:00'));
Pour passer en Français, regarde du coté de setlocacle.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 12h16   #5
Membre du Club
 
hugues dupont
Pompier
Inscription : janvier 2010
Messages : 170
Détails du profil
Informations personnelles :
Nom : hugues dupont
Localisation : France

Informations professionnelles :
Activité : Pompier

Informations forums :
Inscription : janvier 2010
Messages : 170
Points : 44
Points : 44
bon voilà comment je procère

tu envois la donnée heure dans ta base avec
Code :
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 :
1
2
3
$dateMySQL1 = $mavriable heure que je recupere;
//objet DateTime correspondant :
$date1 = new DateTime($dateMySQL1);
en esperant t'avoir aidé
hugodu28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 12h19   #6
Membre du Club
 
hugues dupont
Pompier
Inscription : janvier 2010
Messages : 170
Détails du profil
Informations personnelles :
Nom : hugues dupont
Localisation : France

Informations professionnelles :
Activité : Pompier

Informations forums :
Inscription : janvier 2010
Messages : 170
Points : 44
Points : 44
excuse j'ai oublié la dernière étape

visualisation de la variable
Code :
1
2
3
<?php
echo ($date1->format('d/m/Y H:i:s'));
?></
hugodu28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 14h44   #7
Membre habitué
 
Inscription : mai 2004
Messages : 383
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 383
Points : 129
Points : 129
C'est bon, j'y suis arrivé, merci pour votre aide.

Si ça peut aider, voici ma fonction:
Code :
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
defacta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 15h26   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 011
Points : 5 011
Voici une version raccourcie de ta fonction getMonth:
Code :
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];
}
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h46.


 
 
 
 
Partenaires

Hébergement Web