Diferença entre 'YYYY' e 'yyyy' em NSDateFormatter
Qual é a diferença exata entre 'YYYY' e 'yyyy'. Eu li emesse link, Afirma que
Um erro comum é usar YYYY. yyyy especifica o ano civil, enquanto YYYY especifica o ano (de “Semana do Ano”), usado no calendário de ano-ano do ISO. Na maioria dos casos, yyyy e YYYY produzem o mesmo número, mas podem ser diferentes. Normalmente você deve usar o ano civil.
Mas quando tento usar
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
Como aqui, resultadodate
edatee
diferente, que eu entendi, mas por que resultado da data 2 e data 3 são diferentes? Como eu estou criando data de string e invertendo o mesmo para string novamente, mas as diferenças de saída?
Alguém sabe a razão sobre o mesmo? Embora especifique semana do ano, ainda assim eu deveria obter o mesmo resultado.
Obrigado..
EDIT: -
Se eu codifico
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
Se me resulta resultado adequado, mas o mesmo que eu passo como string até a data eu recebo2013-01-05 12:00:00 +0000
, verifique a data 2 do NSLog, resultado estranho, por quê?