As classes NSDate e NSDateFormatter fornecem os recursos de data e hora.
NSDateFormatter é a classe auxiliar que permite a fácil conversão de NSDate em NSString e vice-versa.
Um exemplo simples para mostrar a conversão de NSDate para NSString e de volta para NSDate é mostrado abaixo.
#import <Foundation/Foundation.h>
int main() {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSDate *date= [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *dateString = [dateFormatter stringFromDate:date];
NSLog(@"Current date is %@",dateString);
NSDate *newDate = [dateFormatter dateFromString:dateString];
NSLog(@"NewDate: %@",newDate);
[pool drain]
return 0;
}
Agora, quando compilarmos e executarmos o programa, obteremos o seguinte resultado.
2013-09-29 14:48:13.445 Date and time[870] Current date is 2013-09-29
2013-09-29 14:48:13.447 Date and time[870] NewDate: 2013-09-28 18:30:00 +0000
Como podemos ver no programa acima, obtemos a hora atual com a ajuda de NSDate.
NSDateFormatter é a classe que está cuidando da conversão do formato.
O formato da data pode ser alterado com base nos dados disponíveis. Por exemplo, quando queremos adicionar tempo ao exemplo acima, o formato da data pode ser alterado para @ "aaaa-MM-dd: hh: mm: ss"