Dates et heures en Objective-C

Les classes NSDate et NSDateFormatter fournissent les fonctionnalités de date et d'heure.

NSDateFormatter est la classe d'assistance qui permet une conversion facile de NSDate en NSString et vice versa.

Un exemple simple pour montrer la conversion de NSDate en NSString et retour en NSDate est illustré ci-dessous.

#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;
}

Maintenant, lorsque nous compilons et exécutons le programme, nous obtiendrons le résultat suivant.

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

Comme nous pouvons le voir dans le programme ci-dessus, nous obtenons l'heure actuelle avec l'aide de NSDate.

NSDateFormatter est la classe qui s'occupe de la conversion du format.

Le format de la date peut être modifié en fonction des données disponibles. Par exemple, lorsque nous voulons ajouter du temps à l'exemple ci-dessus, le format de date peut être changé en @ "aaaa-MM-jj: hh: mm: ss"