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 :

conserver qu'une partie de la date [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut conserver qu'une partie de la date
    Bonjour,

    je sais que en PHP, la manipulation des dates est complexe et justement, aucune idée de comment traiter mon problème.

    Je récupère une date au format DD/MM/YYYY H:i (les dates sont au format français), et je voudrais virer la fin pour ne garder que DD/MM/YYYY. Quelles fonctions faut-il utiliser pour faire cela ?

  2. #2
    Membre confirmé Avatar de RinaBK
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2021
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2021
    Messages : 92
    Par défaut
    Tu peux utiliser la fonction date(); ou getdate();

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    OK, mais apparemment, il faut fournir à ces fonctions un timestamp, donc il faut d'abord convertir la date que je récupère. Mais comment faire ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 82
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    OK, mais apparemment, il faut fournir à ces fonctions un timestamp, donc il faut d'abord convertir la date que je récupère. Mais comment faire ?
    Les fonctions substr et explode prennent une string en argument, si tu reçois tes données sous la forme "DD/MM/YYYY H:i", c'est probablement une string , n'est-ce pas le cas ?

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    En fait, zozizozu, quand j'ai écrit mon post, je n'avais pas vu ta réponse, donc la question était pour RinaBK.

    Tes 2 propositions fonctionnent mais je préfère l'explode au cas où la longueur de la string ne soit pas 10 mais 9 (au cas où les nombres 1 à 9 pour le jour soient sur un seul caractère et pas 2).

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 987
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 987
    Par défaut
    je sais que en PHP, la manipulation des dates est complexe
    C'est vrai et faux. Si tu t'acharnes avec les fonctions date() et autres relatives au temps, effectivement t'a pas fini de galérer (et encore plus si tu pars sur du bricolage à base de manipulation de chaînes).

    Par contre dés lors que tu mets tout ça de coté, et que tu ne t'intéresses qu'aux extensions (les classes) prévues à cet effet (et incluses de base dans PHP), là c'est beaucoup plus simple: tu sais ce que tu manipules (une date, un intervalle, une durée...) et les méthodes disponibles pour chacune d'elles. Franchement tu as tout intérêt à brader les fonctions contre les classes pour ce qui est du temps et des dates (seul point noir, la traduction des jours et mois en français, mais ça rien ne t'empêche de le faire après coup).

    Pour ce qui est de conserver la partie d'une date, c'est simple, que ce soient les fonctions de base ou les classes, tu trouveras une fonction ou une méthode de formatage dans le manuel PHP pour le faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $date = new DateTime();
    echo $date->format('d-m-Y'), PHP_EOL,
         $date->format('d-m'), PHP_EOL,
         $date->format('m'), PHP_EOL,
         $date->format('Y');

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 82
    Par défaut
    Tu pourrais utiliser substr($date,0,10) , ou bien explode(" ", $date)[0]

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

Discussions similaires

  1. [MySQL] requete SQL sur une partie d'un date
    Par stefano dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/09/2012, 14h40
  2. Requête sur une partie de la date
    Par Wise_Sherkaan dans le forum SQL
    Réponses: 7
    Dernier message: 13/01/2011, 17h40
  3. Filtre sur une partie de la date
    Par souminet dans le forum Débuter
    Réponses: 1
    Dernier message: 12/05/2008, 11h31
  4. Réponses: 1
    Dernier message: 14/05/2006, 20h52
  5. Problème de contrainte sur une partie de date (l'année)
    Par shefla dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 11/04/2006, 22h50

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