2012-04-25 104 views
0

在由核心數據管理的表視圖中,我有一個日期字段。現在我需要得到它,但是在輸出中出現錯誤。格式化實體提取的數據

for (FesteGruppo *festeGruppoEntity in arrayController_.selectedObjects) { 
       NSString *valorePrimaFesta=[festeGruppoEntity.data descriptionWithCalendarFormat:@"%w" timeZone:nil locale:nil]; 
       int prova = [valorePrimaFesta intValue]; 

       if (prova==0) { 
        --domenica; 
       } else if (prova==1){ 
        --lunedi; 
       } else if (prova==2){ 
        --martedi; 
       } else if (prova==3){ 
        --mercoledi; 
       } else if (prova==4){ 
        --giovedi; 
       } else if (prova==5){ 
        --venerdi; 
       } else if (prova==6){ 
        --sabato; 
       } 

       NSLog(@"The entity's date is %@", festeGruppoEntity.data); 
       NSLog(@"The date number is %i", prova); 
      } 

我把這個日期:10/04/2012(DD/MM/YYYY),但我得到這樣的結果: 實體的日期是2013年4月9日22:00:00 +0000 的日期編號爲3. 我需要獲取上面輸入的日期,我該怎麼辦?

回答

1

我猜你是在GMT + 02:00的時區。我也猜測你在2013年輸入了一個日期,或者你錯誤地複製了輸出。 2012年4月10日,沒有時間信息的日期是,在您的時區中,「2012-04-10 00:00:00 +0200」與2012-04-09 22:00:00 + 0000" 。 NSDate以GMT + 00:00登錄。

因此,我認爲您必須通過-descriptionWithCalendarFormat:timeZone:locale:方法的timeZone:參數的實際值,而不是nil