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 :

[Dates] Séparer les caractères d'une chaine de caractère


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par défaut [Dates] Séparer les caractères d'une chaine de caractère
    Je suis sur le point de finir ma fonction de classement de date, seulement pour se faire j'ai procédé de la façon suivante:
    02-01-2007 devient 20070102
    06-02-1985 devient 19850206

    Ainsi je compare les valeurs et je peux donner un ordre à mes dates puisque le plus grand chiffre est forcément le plus récent.

    Donc mon problème réside dans la présentation du classement, il faudrait que je puisse retransformer ces nouveaux chiffres en dates présentables
    20070102 redeviendrait 02-01-2007
    19850206 redeviendrait 06-02-1985

    Je pensais à compter les caractères pour dissocier année, mois et jour et les concatener dans un tableau mais je ne sais ni comment les compter ni comment sortir les carcatères que je veux une fois le comptage fais.
    Pouvez-vous m'aider?

    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    essaie substr
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par défaut
    ca m'a l'air d'etre ca, je teste et je te dis.

  4. #4
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Il existe plusieurs façons de faire.
    Une façon assez intuitive consiste à utiliser la fonction substring : php.net puis rechercher substr (chuis fainéant aujourd'hui... )

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $date = '20070102';
    $annee = substr($date,0,4);
    $mois = substr($date,4,2);
    $jour = substr($date,6,2);

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 98
    Par défaut
    Je n'ai qu'une chose à dire, merci c'est parfait. Je mettrais mon code lorsqu'il sera 100% valide car il y a quelques bug que je vais résoudre

    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
    <?php
    $nb_element=3;
    $date=array("02-10-2007","06-02-1985","20-03-1985");
    $new_date=array();
    if(eregi("-",$date[0]))//Vérifie qu'il existe le caractère "-" afin de reconnaitre une date
    {
     
    for($i=0;$i<$nb_element;$i++)
    	{
    	list($jour,$mois,$annee) = sscanf($date[$i], "%d-%d-%d");
     
    	/*si le numéro est inférieur alors il y a effacement du 0*/
    	if($jour<10)
    		$jour="0".$jour;
    	if($mois<10)
    		$mois="0".$mois;
     
    	$new_date[$i]=$annee.$mois.$jour;
    	array_multisort($new_date, SORT_ASC, SORT_NUMERIC);//classe le contenu du tableau du plus vieux au plus récent
     
    	}
     
    for($i=0;$i<$nb_element;$i++)
    	{
    	$annee=substr($new_date[$i],0,4);
    	$mois=substr($new_date[$i],4,2);
    	$jour=substr($new_date[$i],6,2);
    	$new_date[$i]=$jour."-".$mois."-".$annee;
    	echo $new_date[$i];
    	?></br><?php
    	}
     
    }
     
    ?>
    Je sais que j'ai fait deux boucles identiques mais je l'ai fait contraint et forcé car il y a un bug incompréhensible, si je mets le tout dans la même boucle, ca ne fonctionne pas.
    Tels que c'est là, ca fonctionne

    Merci encore pour m'avoir aider

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

Discussions similaires

  1. Récupérer tous les mots d'une chaine de caractère
    Par steps5ive dans le forum Access
    Réponses: 2
    Dernier message: 05/09/2006, 15h14
  2. remplacer les cotes dans une chaine de caractère
    Par zut94 dans le forum Langage
    Réponses: 3
    Dernier message: 30/08/2006, 17h38
  3. Supprimer les espaces d'une chaines de caractères
    Par pekka77 dans le forum Langage
    Réponses: 4
    Dernier message: 09/08/2006, 17h02
  4. eliminer les espaces d'une chaine de caractères
    Par wassim_kh dans le forum Langage
    Réponses: 1
    Dernier message: 14/07/2006, 11h20
  5. Séparer les nombres d'une chaine avec split
    Par guano dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2006, 17h14

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