Was ist der genaue Unterschied zwischen 'JJJJ' und 'JJJJ'? Ich habe in diesem Link gelesen , dass es heißt
Ein häufiger Fehler ist die Verwendung von JJJJ. JJJJ gibt das Kalenderjahr an, während JJJJ das Jahr (der „Woche des Jahres“) angibt, das im ISO-Jahres-Wochen-Kalender verwendet wird. In den meisten Fällen ergeben JJJJ und JJJJ die gleiche Anzahl, sie können jedoch unterschiedlich sein. Normalerweise sollten Sie das Kalenderjahr verwenden.
Aber wenn ich versuche zu benutzen
NSString *stringDate = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mma"];
NSDate *date=[dateFormatter dateFromString:stringDate];
NSLog(@"Date 1 : %@",date); //2013-02-28 12:00:00 +0000
NSString *stringDatee = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatterr = [[NSDateFormatter alloc] init];
[dateFormatterr setDateFormat:@"MMM dd, YYYY hh:mma"];
NSDate *datee=[dateFormatterr dateFromString:stringDatee];
NSLog(@"Date 2 : %@",datee); //2013-01-05 12:00:00 +0000
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormat stringFromDate:datee];
NSLog(@"date 3 : %@", dateString); //Jan 05, 2013 05:30PM
Wie hier, Ergebnis zu date
und datee
unterschiedlich, was ich verstanden habe, aber warum sind Ergebnis von Datum 2 und Datum 3 unterschiedlich? Wie erstelle ich ein Datum aus einer Zeichenfolge und kehre es wieder in eine Zeichenfolge um, aber die Ausgabe stimmt nicht überein?
Hat jemand einen Grund dafür? Obwohl es die Woche des Jahres angibt, sollte ich trotzdem das gleiche Ergebnis erzielen.
Vielen Dank..
EDIT: -
Wenn ich codiere
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormatterr stringFromDate:[NSDate date]];
NSLog(@"date: %@", dateString); //Feb 28, 2013 04:37PM
Wenn das Ergebnis das richtige Ergebnis ist, aber dasselbe, das ich bisher als Zeichenfolge übergeben habe 2013-01-05 12:00:00 +0000
, überprüfen Sie Datum 2 von NSLog, Seltsames Ergebnis, warum?