Как установить часовую минуту в nsdate программно?

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

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

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

2 ответа

Решение

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

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

Ответ на ваш первый вопрос "Как программно установить часовую минуту в 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];
Другие вопросы по тегам