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 :

Transformer une chaine de caractère en date


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de -Fly-
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 94
    Points
    94
    Par défaut Transformer une chaine de caractère en date
    Bonjour une donnée issue d'un table m'est renvoyé sous la forme

    01/06/11 06:00:00 avec donc jour/mois/année heure:minute:seconde

    Sachant que cette donnée est une chaine de caractère est il possible de la transformer en date ? si oui , comment ?

    Merci d'avance

    Bonne journnée

  2. #2
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Bonjour,

    Tu peux regarder du côté de strtotime().

    Mais pourquoi ne pas stocker tes informations sous forme de date plutôt que sous forme de chaîne ?

  3. #3
    Membre régulier Avatar de -Fly-
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    Pour faire des opération dessus par exemple calculer le temps de cette date depuis la date d'aujourd'hui

  4. #4
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Il y a plein de fonctions qui permettent d'effectuer des opérations sur des dates, personnellement je trouve ça beaucoup plus pratique que sur des chaînes.

  5. #5
    Membre régulier Avatar de -Fly-
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    Voila, c'est pour ca que je veux convertir la chaine en date

  6. #6
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Je me suis mal exprimé : Pourquoi ne pas stocker tes données dans un champ date ?

    Tu n'auras pas besoin de faire une conversion.

  7. #7
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 387
    Points
    9 387
    Par défaut
    A noter que lors d'une requête un champ date est retourné sous forme de String.
    Mais il est aussi à noter qu'en SQL on peut faire des calculs sur des dates (et donc avant la récupération et transformation en String).

    Exemple :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEDIFF(now() ,champ_date) AS diff_date FROM ......

  8. #8
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Je pensais qu'il stockait ses dates dans un varchar, pour ça que je ne comprenais pas trop le sens de sa question.

    Fly, tu ne peux pas faire tes calculs dans la requête ? Et donc directement sur les données de type date ?

  9. #9
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Points : 1 057
    Points
    1 057
    Par défaut
    Il ne faut pas oublier la classe DateTime en PHP : http://www.php.net/manual/fr/class.datetime.php

    Celle-ci te donne accès à la méthode createFromFormat : http://www.php.net/manual/fr/datetim...fromformat.php , une multitude de méthodes pour travailler sur les dates, ...

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par -Fly-
    Pour faire des opération dessus par exemple calculer le temps de cette date depuis la date d'aujourd'hui
    Finality t'a donné les bons liens. Notamment si tu as php 5.3 tu pourras facilement calculer une différence avec DateTime::diff sinon c'est faisable aussi mais plus compliqué.
    Cela dit si tu peux utiliser la méthode de transgohan c'est encore le plus optimisé.

  11. #11
    Membre régulier Avatar de -Fly-
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 178
    Points : 94
    Points
    94
    Par défaut
    D'accord, merci de vos réponses je vais essayer tout ca

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

Discussions similaires

  1. [SQL-Server] SQL Server: convertir une chaine de caractères en date
    Par Louisa2005 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/09/2013, 10h25
  2. Réponses: 11
    Dernier message: 04/11/2007, 21h32
  3. Réponses: 3
    Dernier message: 12/06/2006, 11h18
  4. Réponses: 2
    Dernier message: 03/10/2005, 16h23
  5. Réponses: 2
    Dernier message: 14/01/2005, 15h40

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