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-0922: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」。NSDateGMT+00:00 に自分自身を記録します。

したがって、メソッドのパラメーターにはではなくnil、実際の値を渡す必要があると思います。timeZone:-descriptionWithCalendarFormat:timeZone:locale:

于 2012-04-25T17:49:38.373 に答える