Как установить час минуты в nsdate программно? - PullRequest
6 голосов
/ 04 июня 2010

У меня есть формат 14:01:20 на одной этикетке; после некоторых вычислений мне нужно изменить час и / или минуту этого ярлыка.

То есть возможно ли изменить это значение метки, преобразовав его как объект NSDate и изменив часы и минуты, как 3:20:30 PM?

Есть ли для этого методы сеттера?

Ответы [ 2 ]

27 голосов
/ 26 октября 2011

Ответ на ваш первый вопрос " как программно установить часовую минуту в nsdate? " следующий:

    NSDate* result;
    NSDateComponents *comps = [[NSDateComponents alloc] init];
    [comps setMinute:0];
    [comps setHour:0];
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    result = [gregorian dateFromComponents:comps];
    [comps release];
1 голос
/ 04 июня 2010

Если вам нужно рассчитать конкретные реальные экземпляры во времени, например, 3:20:30 вечера 23 октября 2010, затем вы хотите использовать NSCalendar, который позволяет вам разбивать даты и делать вычисления, связанные с датами.

Слово предупреждения. Дата и время вычисления удивительно сложны и подробны. Ожидайте потратить пару часов на изучение API.

...