Учитывая год, месяц и день, все в int, как бы я генерировал NSDate - PullRequest
7 голосов
/ 16 марта 2010

Я думаю, что решение действительно простое, я просто не сталкивался с ним онлайн.

Предположим, мне даны int год, int месяц, int день, int час, int min, int sec .. как мне сгенерировать NSDate из него?

Я знаю, что мы можем использовать [NSDate initWithString:] но я думаю, что это усложняется, если месяц / день / час / мин / сек - однозначные числа.

Ответы [ 2 ]

13 голосов
/ 16 марта 2010

Предположим, мне даны int год, int месяц, int день, int час, int min, int sec .. как мне сгенерировать NSDate из него?

Поместите целые числа в объект NSDateComponents , затем попросите объект NSCalendar изменить его на дату .

0 голосов
/ 16 марта 2010

Это здесь в значительной степени подводит итог, как это сделать.

//create a string that looks like this, "October 22, 2009" or whatever the values are
NSString* d = [NSString stringWithFormat:@"%@ %@, %@", month, day, year];
NSDate* date = [NSDate dateWithNaturalLanguageString:d];

эта ссылка также показывает другие варианты создания даты, если вам не нравится этот конкретный метод.

только что понял, что вы сказали, что вам дали целые числа ... вы можете сделать это с помощью этого строкового формата:

[NSString stringWithFormat:@"%i/%i/%i", month, day, year];
...