NSDateFormatter: come recuperare i millisecondi
mercoledì 7 aprile, 2010 di Giovambattista FazioliIn Objective-C è possibile ottenere date e/o orari formattati come si vuole, alla stregua di quello che accade in PHP quando si utilizza date(). Questo può risultare utile in svariati casi; per creare visori di date e/o tempo (vedi orologi, sveglie, etc…), gestire date in tabelle, timer di gioco, log su file e altro ancora. Faremo uso della classe NSDateFormatter che, come fa indendere il suo nome, propone una serie di utili metodi per gestire la formattazione delle date. In particolare vediamo come funziona stringFromDate utilizzato in accoppiata all’oggetto (statico) NSDate:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | // Creo l'oggetto NSDateFormatter NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init]; // Ore [timeFormat setDateFormat:@"HH"]; NSString *hours = [timeFormat stringFromDate:[NSDate date]]; // Minuti [timeFormat setDateFormat:@"mm"]; NSString *minutes = [timeFormat stringFromDate:[NSDate date]]; // Secondi [timeFormat setDateFormat:@"ss"]; NSString *seconds = [timeFormat stringFromDate:[NSDate date]]; // Millisecondi [timeFormat setDateFormat:@"SSS"]; NSString *milli = [timeFormat stringFromDate:[NSDate date]]; // Giorno [timeFormat setDateFormat:@"dd"]; NSString *day = [timeFormat stringFromDate:[NSDate date]]; [timeFormat release]; |
Se avessimo necessita di convertire i valori ottenuti, che sono stringhe, in qualche altro tipo dato:
1 2 3 4 5 | float fOre = [hours floatValue]; float fMinuti = [minutes floatValue]; float fSecondi = [seconds floatValue]; float fMilli = [milli floatValue]); float fGiorni = [day floatValue]; |
Questo è possibile (e sono possibile anche tante altre cose) in quanto NSString è un oggetto e quindi mette a disposizione una serie di metodi molto utii, come appunto floatValue, che non tutti conoscono. Consiglio quindi di dare uno sguardo alla documentazione di NSString, con la certezza che scoprirete tante utili proprietà.

(1 voti, media: 4,00 su 5)



Non ci sono commenti per questo Post
Lascia un commento