2010-12-04 25 views
0

Je veux changer les formats de date. Mais je ne sais pas comment donner le format d'entréeproblème de dateformatter?

`Jeu 2 décembre 2010 00:28:56 -0500' i utilise la formatter date pour le format personnalisé utilisateur

NSString *inputString = @"Thu, 2 Dec 2010 00:28:56 -0500"; 
    NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init]; 
    [inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"]; 

    NSDate *inputDate = [inputFormatter dateFromString:inputString]; 
    NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init]; 
    [outputFormatter setDateFormat:@"EEE. MMM. d, yyyy"]; 

    NSString *outputDate = [outputFormatter stringFromDate:inputDate]; 
    mylabel.text = outputDate; 

mais la date ne pas afficher

s'il vous plaît me donner la solution

+0

D'abord, vous devriez vérifier (et nous dire) lequel des 2 les opérations échouent: 'dateFromString:' ou 'stringFromDate:'? À quels paramètres régionaux votre appareil est-il configuré? Le code que vous avez cité ne fonctionnera pas dans un environnement autre que l'anglais. (Il peut ne pas fonctionner avec un environnement anglais, non plus, je n'ai pas vérifié la chaîne de format à fond.) –

+0

@Ole Begemann-le inputDate non défini .... – Sri

+0

Pourquoi avez-vous supprimé la chaîne de format que vous aviez? C'est correct. –

Répondre

1

la chaîne de format que vous nous avez montré avant d'éditer votre question était correcte. La seule chose qui manquait était que vous devez définir l'environnement local du formateur de date en anglais si vous voulez qu'il reconnaisse les noms de mois et de jours anglais:

[inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]]; 
+0

setLocale fonctionne parfaitement grâce mais @ "en_US" est défini la langue locale. Je veux montrer la langue en français – Sri

+0

Huh? (PS: vous devriez ré-éditer votre question et ajouter la chaîne de format que vous avez enlevée) –

+0

maintenant le vérifier j'ai édité – Sri