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* components = [日历组件:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:[NSDate date]];

于 2012-09-27T10:21:33.837 回答