Инициализируйте NSDate с пользовательской датой - PullRequest
8 голосов
/ 05 октября 2010

Я ищу что-то вроде:

NSDate *date = [[NSDate alloc] initWithYear:1984 month:10 Day:8];

Есть ли способ сделать что-то подобное?

Спасибо!

1 Ответ

20 голосов
/ 05 октября 2010

Я написал категорию для этой задачи. NSDate отсутствует много полезных методов.

@interface NSDate (missingFunctions) 
+ (NSDate *)dateWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day;
@end


@implementation NSDate (missingFunctions)

+ (NSDate *)dateWithYear:(NSInteger)year month:(NSInteger)month day:(NSInteger)day {
    NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
    NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
    [components setYear:year];
    [components setMonth:month];
    [components setDay:day];
    return [calendar dateFromComponents:components];
}   
@end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...