NSDateComponents不接受输入

时间:2012-09-27 09:30:56

标签: iphone objective-c

我有一个行为不端的NSDateCategory。我正在设定年份,月份日,但其结果完全不同:

变量: 年= 2012年 月= 10 day = 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

2 个答案:

答案 0 :(得分:2)

添加此行

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

希望这对你有用

答案 1 :(得分:0)

做到这一点:

NSDateComponents * components = [日历组件:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:[NSDate date]];