J'ai deux cordes: date1 = 3-3-2011;
et je souhaite convertir en 3-mars-2011 et l'afficher dans l'étiquette. P>
NSString *myString = 3-3-2011; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"d-MM-YYYY"]; NSDate *yourDate = [dateFormatter dateFromString:myString]; //now format this date to whatever you need⦠[dateFormatter setDateFormat:@"d-MMM-YYYY"]; NSString *resultString = [dateFormatter stringFromDate:yourDate]; [dateFormatter release];
3 Réponses :
Jetez un coup d'œil à NsdateFormatter . En particulier, jetez un coup d'œil au Un astuce pour utiliser NsdateFormatter: Assurez-vous de toujours définir un local. Si vous ne définissez pas manuellement une locale, il dispose d'un bogue concernant les paramètres d'horloge de 12/24 heures. L'exemple de code sur la page I liée pour montrer comment définir un local. P> Datefromstring: code> et
stringfromdate: code> méthodes. Vous aurez besoin de convertir votre chaîne d'origine en un nsdate, puis de convertir cela Nsdate en une autre chaîne. P>
Vous pouvez utiliser Convertissez votre chaîne actuelle en Vous pouvez désormais convertir ce nsdateformatter code>.
nsdate code> objet, afin que vous puissiez
Convertissez-le en n'importe quel format que vous voulez. p>
[dateFormatter setDateFormat:@"d-MMMM-yyyy"];
NSString *resultString = [dateFormatter stringFromDate:yourDate];
[dateFormatter release];
nsdate code> à n'importe quel format souhaité. p>
NSString *myString = @"3-3-2011";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"d-M-yyy"];
NSDate *yourDate = [dateFormatter dateFromString:myString];
Nsstring * mystring = 3-3-2011; Nsdateformatter * dateformatter = [[[Nsdateformatter Alloc] init]; [DateFormatter SetdateFormat: @ "D-MM-AAAAYY"]; Nsdate * Yourdate = [DateFormatter DateFromstring: mystring]; // Format maintenant cette date à tout ce dont vous avez besoin ... [DateFormatter SetDateDateFormat: @ "D-mmm-aaaa aaaa"]; Nstring * RésultatsTring = [DateFormatter StringFromdate: Yourdate]; [DateFormatter version]; Mais Yourdate = 2010-12-25 18:30:00 +0000 résultats = 26 décembre 2010 Je veux 3-mars-2010
@Sam utilise @ "d-m-aaayy" code>. Je n'ai aucune idée de la façon dont cette réponse a eu 2 upvotes.
@fluchtpunkt est correct sur les deux chefs d'accusation. Le y minuscule est important. Voir Unicode.org/reports/tr35/#date_format_Patterns .
La chaîne de format doit être @ "D-M-AAAAYY" CODE> dans les deux cas. @ "D-M-LLL" et @ "D-MMMM-LLLL" sont incorrects.
Vous devez définir le style, pas le format, si vous souhaitez présenter les dates de manière appropriée. Donc, définissez le format de l'entrée (à partir de fichiers, etc., pas d'utilisateur), mais utilisez le style lors de l'affichage.
Utilisez dmy (ou mdy, selon lequel est le mois): et voir le Standard UNICODE mentionné dans les documents Apple. P> P>