Convertir une string en date

muqaddarmuqaddar Administrateur
09:18 modifié dans API UIKit #1
Je sais, le sujet n'est pas nouveau...

Je récupère une date sous ce format :

Sun, 19 Apr 2009 09:33:57 GMT


Et je voudrais la convertir en 19/04/2009.

Je suis allé voir du côté des NSDateFormatter, mais xCode m'envoie un warning pour ce genre de chose :

NSDate *date = [NSDateFormatter dateFromString:dateString];


Et bien entendu, convertir la string en date est la première étape avant de la formatter.

Alors, je veux bien un coup de main. :)

Réponses

  • schlumschlum Membre
    09:18 modifié #2
    Ben alors, et la recherche Monsieur l'Administrateur ?  :)

    http://www.osx-dev.com/index.php?topic=3533.0
  • muqaddarmuqaddar Administrateur
    avril 2009 modifié #3
    dans 1240212307:

    Ben alors, et la recherche Monsieur l'Administrateur ?  :)

    http://www.osx-dev.com/index.php?topic=3533.0



    Monsieur l'administrateur était bien tombé sur cette discussion, mais ma date n'est pas du tout au même format...

    J'espère ne pas avoir à  faire une regexp quand-même !

    EDIT : d'ailleurs même si je fais un :

    NSArray * components=[maDateString componentsSeparatedByString:" "];
    


    faut convertir le Apr en "04"...

    Oui en fait, je peux m'en sortir je pense... :)
  • schlumschlum Membre
    09:18 modifié #4
    Pas besoin de regexp, un simple parsing suffira  :)
  • muqaddarmuqaddar Administrateur
    09:18 modifié #5
    dans 1240216068:

    Pas besoin de regexp, un simple parsing suffira  :)


    Pas trouvé mieux en 3 lignes :

    NSArray *components = [dateString componentsSeparatedByString:@&quot; &quot;];<br />	NSArray *menth = [NSArray arrayWithObjects:@&quot;Jan&quot;, @&quot;Fev&quot;, @&quot;Mar&quot;, @&quot;Apr&quot;, @&quot;May&quot;, @&quot;Jun&quot;, @&quot;Jul&quot;, @&quot;Aug&quot;, @&quot;Sep&quot;, @&quot;Oct&quot;, @&quot;Nov&quot;, @&quot;Dec&quot;, nil];	<br />	NSString *dateFormattedString = [NSString stringWithFormat:@&quot;%@/%@/%@ à  %@&quot;, [components objectAtIndex:1], [NSString stringWithFormat:@&quot;%02d&quot;, [menth indexOfObject:[components objectAtIndex:2]]+1], [components objectAtIndex:3], [components objectAtIndex:4]];
    

  • schlumschlum Membre
    09:18 modifié #6
    Oh bah après, mieux c'est du parsing de base en C  :P
  • 09:18 modifié #7
    <br />NSDate* date = [NSDate dateWithString:dateString];<br />NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];<br />[outputFormatter setDateFormat:@&quot;dd/mm/YYYY&quot;];<br />NSString* dateFormated = [outputFormatter stringFromDate:date];<br /><br />[outputFormatter release];<br />
    


    Comment ça c'est plus long ? :p
  • muqaddarmuqaddar Administrateur
    09:18 modifié #8
    dans 1240224583:

    <br />NSDate* date = [NSDate dateWithString:dateString];<br />NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];<br />[outputFormatter setDateFormat:@&quot;dd/mm/YYYY&quot;];<br />NSString* dateFormated = [outputFormatter stringFromDate:date];<br /><br />[outputFormatter release];<br />
    


    Comment ça c'est plus long ? :p


    Sauf que dateWithString me renvoie (null) avec une date formatée comme en haut...
  • 09:18 modifié #9
    dans 1240226580:

    dans 1240224583:

    <br />NSDate* date = [NSDate dateWithString:dateString];<br />NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];<br />[outputFormatter setDateFormat:@&quot;dd/mm/YYYY&quot;];<br />NSString* dateFormated = [outputFormatter stringFromDate:date];<br /><br />[outputFormatter release];<br />
    


    Comment ça c'est plus long ? :p


    Sauf que dateWithString me renvoie (null) avec une date formatée comme en haut...


    Hmm t'as essayé vraiment comme moi ? Parce que toi tu as utilisé NSDateFormatter +dateFromString .. et non pas NSDate +dateWithString.

    Moi je l'ai déjà  fait avec ce type de date et j'ai pas eu de problème  :-\\
  • muqaddarmuqaddar Administrateur
    09:18 modifié #10
    J'avais essayé les 2 avant de poster.

    <br />NSDate* date = [NSDate dateWithString:dateString];<br />NSLog(@&quot;date : %@&quot;, date);<br />
    


    m'affiche : date : (null)
  • 09:18 modifié #11
    dans 1240228948:

    J'avais essayé les 2 avant de poster.

    <br />NSDate* date = [NSDate dateWithString:dateString];<br />NSLog(@&quot;date : %@&quot;, date);<br />
    


    m'affiche : date : (null)


    J'avoue que je trouve ça bizarre ... O.O
Connectez-vous ou Inscrivez-vous pour répondre.