Come impostare minuto un'ora in NSDate di programmazione?
-
24-10-2019 - |
Domanda
Ho formato 14:01:20 in un'etichetta; dopo alcuni calcoli, ho bisogno di cambiare l'ora e / o minuto di tale etichetta.
Cioè, è possibile modificare tale valore etichetta, convertendolo come oggetto NSDate e la modifica di ora e minuto come 3:20:30?
Ci sono metodi setter per questo?
Soluzione
Se avete bisogno di calcolare specifici casi reali in tempo per esempio 03:20:30 23 OTTOBRE 2010, poi si desidera utilizzare NSCalendar che consente di scomporre le date e fare calcoli relativa data.
Un avvertimento. Data e ora calcoli sono sorprendentemente complesso e dettagliato. Aspettatevi di trascorrere un paio d'ore di apprendimento della API.
Altri suggerimenti
La risposta alla prima domanda " Come impostare minuto un'ora in NSDate programatically? " è il seguente:
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];