Яка точна різниця між "РРРР" та "РРРР". Я читав у цьому посиланні , там сказано
Поширеною помилкою є використання РРРР. yyyy вказує календарний рік, тоді як YYYY вказує рік («тижня року»), що використовується в календарі ISO-рік-тиждень. У більшості випадків РРРР і РРРР дають одне і те ж число, однак вони можуть відрізнятися. Зазвичай слід використовувати календарний рік.
Але коли я намагаюся використовувати
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
Як і тут, результат до date
та datee
різний, що я зрозумів, але чому результат дати 2 та дати 3 відрізняються? Оскільки я створюю дату із рядка і знову перетворюю її на рядок, але вивожу невідповідність?
Хтось знає причину того самого ?. Хоча це вказує тиждень року, все одно я повинен отримати результат таким же.
Дякую..
РЕДАГУВАТИ: -
Якщо я кодую
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
Якщо результати дають мені належний результат, але той самий, який я передаю як рядок на сьогоднішній день, я 2013-01-05 12:00:00 +0000
перевіряю дату 2 NSLog, Дивний результат, чому?