NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@",dateString);
// Retrieve NSDate instance from stringified date presentation
NSDate *dateFromString = [dateFormatter dateFromString:dateString];
// Create and initialize date component instance
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setDay:2];
// Retrieve date with increased days count
NSDate *newDate = [[NSCalendar currentCalendar]
dateByAddingComponents:dateComponents
toDate:dateFromString options:0];
NSLog(@"Original date: %@", [dateFormatter stringFromDate:dateFromString]);
NSLog(@"New date: %@", [dateFormatter stringFromDate:newDate]);
OutPutNSDate mauvaise sortie quand ajouter à jour NSDate
2013-05-17
Original date: 2013-05-17
New date: 1412647-09-06
j'ajouter 2 jours à cela. La nouvelle date devrait être « 19/05/2013 ?. Quelqu'un peut-il me dire ce que je tort? Merci d'avance.
Êtes-vous sûr que 'day' est correctement réglé sur' 2'? - Et s'il vous plaît poster * code *, pas * captures d'écran *. –
Oui, comme Matthias l'indique, vous n'avez jamais initialisé votre date NSDateComponents. Vous devez utiliser NSCalendar componentsFromDate pour initialiser les choses. –
@HotLicks: Comparez le premier exemple (Listing 9) dans [Performing Calendar Calculations] (http://developer.apple.com/library/IOS/#documentation/Cocoa/Conceptual/DatesAndTimes/Articles/dtCalendricalCalculations.html). –