Собрать объект даты из целых чисел? - PullRequest
1 голос
/ 20 января 2011

Учитывая три целых числа, представляющих день, месяц и год, какой код соберет эти целые числа в объект даты?

Ответы [ 2 ]

4 голосов
/ 20 января 2011

Вы должны посмотреть на NSDateComponents:

int y = 2011;
int m = 1;
int d = 15;


NSDateComponents *dc = [[NSDateComponents alloc] init];
[dc setYear:y];
[dc setMonth:m];
[dc setDay:d];

NSLog(@"%@: %@", [[dc date] class], [dc date]);
0 голосов
/ 20 января 2011

NSDateFormatter использует Стандарт Unicode для разбора строк дат в даты.Итак, отформатируйте ваши целые числа в строку даты, а затем используйте и NSDateFormatter для ее анализа:

// assume year, month and day are integers that are formatted properly and don't
// include invalid ranges
NSString* dateString = [NSString stringWithFormat:@"%04d %02d %02d", year, month, day];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
// Choose a format of YEAR MONTH DATE per the standard
[formatter setDateFormat:@"yyyy MM dd"];
NSDate* date = [formatter dateFromString:dateString];
[formatter release];

Вы можете установить форматную строку в любой формат, который плавает в вашей лодке, если вы используете стандарт Unicode (связанныйвыше), и вы конвертируете свои целые числа в тот же формат (очевидно).

...