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-04-09 22:00:00 +0000 日期编号是 3。我需要得到我在上面输入的日期相同,我该怎么办?

4

1 回答 1

1

我猜您所在的时区是 GMT+02:00。我也猜你要么输入了 2013 年的日期,要么错误地复制了输出。没有时间信息的 10/04/2012 日期在您的时区中是“2012-04-10 00:00:00 +0200”,这与“2012-04-09 22:00:00 +”相同0000”。NSDate以 GMT+00:00 登录。

所以,我认为你必须nil为方法的timeZone:参数传递一个真实的值,而不是-descriptionWithCalendarFormat:timeZone:locale:

于 2012-04-25T17:49:38.373 回答