Как установить часовую минуту в NSDATE программно?
-
24-10-2019 - |
Вопрос
У меня есть 2:01:20 формат в одной ярлыке; После некоторых вычислений мне нужно изменить час и/или минуту этого ярлыка.
То есть возможно ли изменить это значение этикетки, преобразуя его как объект NSDATE и изменяя час и минуту, как 15:20:30?
Есть ли методы сеттера для этого?
Решение
Если вам нужно рассчитать конкретные реальные экземпляры во времени, например, 15: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];