0

動作がおかしい NSDateCategory があります。年、月、日を設定していますが、その結果はまったく異なります:

変数 : 年 = 2012 月 = 10 日 = 1

 + (NSDate *)dateWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day 
    {
        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSDateComponents *components = [[NSDateComponents alloc] init];
        [components setYear:year];
        [components setMonth:month];
        [components setDay:day];
        NSDate *result =  [calendar dateFromComponents:components];

        return result;
    }

NSLog 出力 結果 = 2012-09-30 23:00:00 +0000

4

2 に答える 2

2

この行を追加

[components setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

これがうまくいくことを願っています

于 2012-09-27T09:38:25.187 に答える
0

やれ:

NSDateComponents*コンポーネント=[カレンダーコンポーネント:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:[NSDate date]];

于 2012-09-27T10:21:33.837 に答える