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

PHP & Base de données Discussion :

Format de dates [SQL-Server]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 17
    Par défaut Format de dates
    Bonjour,

    J'arrive maintenant a me connecter à une base SQL en PHP (grâce à ce forum) mais je rencontre déjà un problème (certainement enfantin) que je n'arrive pas résoudre.
    Si je fais un ECHO d'une date retournée par un SELECT il l'affiche sous la forme Jan 27 2007 9:40AM qui me semble très difficile à exploiter.

    Comment faire pour obtenir des chiffres au lieu de "Jan" et "AM" ?

    Il me semble que cela doit pouvoir se faire facilement, mais j'ai beau chercher, je ne trouve pas

    Désolé d'être aussi ignorant...

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Je suis allé là :
    [ame="http://www.google.fr/search?hl=fr&q=php+formatter+dates&btnG=Recherche+Google&meta=&aq=-1&oq=php+formatter+date"]php formatter dates - Recherche Google[/ame]

  3. #3
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 17
    Par défaut
    Je te remercie pour ta réponse.

    Bien sûr j'avais déjà consulté cette page, et beaucoup d'autres, avant de poster sur le forum

    Les choses doivent être encore trop confuses dans ma tête au niveau de la différence entre MySql et SQL-Server.
    Je commence à comprendre que "base SQL", comme je l'indique, n'a pas de sens, mais comme le forum concerne PHP & SQL-Server je pensais que ce serait clair tout de même.

    J'ai l'habitude de manipuler les dates en PHP à partir de MySql et connais bien la fonction substr() mais quand je récupère une date MySql elle se présente sous forme de nombres et je n'ai pas de problème pour les organiser comme je le veux.
    Ce qui me gêne dans le cas présent, avec SQL-Server, c'est la présence des lettres à la place de chiffres pour le mois et je ne pense pas que substr() puisse s'appliquer dans ce cas.

    Je vais continuer à chercher

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Au temps pour moi, je n'avais pas fait attention au fait que tu utilisais SQLServer.

    Pour me faire pardonner, puis-je te proposer ce lien ?
    http://www.spawnrider.net/blogs/2006...lserver_g_php/

  5. #5
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 17
    Par défaut
    Merci pour le lien.

    Effectivement, j'ai déjà essayé avec : "CONVERT", sans arriver à un résultat satisfaisant, mais l'exemple en question va peut-être m'aider à avancer, une fois que j'aurai décodé : CONVERT(char(20),the_date,120).


    Dans l'article il est écrit : Cependant, les champs de type DATETIME (sous-entendu TIMESTAMP) sont trés mal perçus lors d’une simple requête SQL à partir de PHP.
    Je ne comprends pas cette remarque, un champ de type DATETIME est bien différent d'un champ de type TIMESTAMP, non ? ou alors je ne comprends vraiment pas grand-chose aux formats de dates... ce qui est loin d'être exclu...

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Effectivement, ils sont bien différents.
    Le type timestamp est codé sur 4 octets et est représenté par un nombre (le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit).
    Le type datetime, lui, est codé sur 8 octets.

    A propos de convert, la doc est fournie ici : http://msdn.microsoft.com/fr-fr/library/ms187928.aspx
    En fait, les paramètres sont :
    1. le type de données qui sera donné en sortie (donc ici du char de longueur 20) ;
    2. une expression (ici, ton champ the_date);
    3. un style (la manière de représenter la date : jj/mm, jj/mm/aaaa... le détail est dans la doc).

  7. #7
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 17
    Par défaut
    Merci beaucoup !

    Je me suis à nouveau penché sur "CONVERT" qui me semble maintenant beaucoup moins compliquée que je ne le pensais

    Comme je découvre totalement SQL Server je m'étais un peu perdu la première fois... grâce à ton aide, je suis arrivé à convertir "Jan 1 1900 12:00AM" dans un format totalement numérique et donc beaucoup plus facile à manipuler.

    Mon problème est donc résolu, avec ton aide

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Content d'avoir été utile

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

Discussions similaires

  1. Format de date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/06/2004, 17h32
  2. Détecter le format de date au démarrage
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2004, 11h04
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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