J'ai une application de calendrier dans laquelle je veux obtenir l'année prochaine à partir de la date actuelle (NSDate).Obtenez l'année prochaine à partir du NSDate actuel?
Comment est-ce que je peux faire ceci?
J'ai une application de calendrier dans laquelle je veux obtenir l'année prochaine à partir de la date actuelle (NSDate).Obtenez l'année prochaine à partir du NSDate actuel?
Comment est-ce que je peux faire ceci?
Vous pouvez faire NSDateComponents
faire tout le travail de calcul des années bissextiles et les secondes bissextiles:
NSDate *today = [[NSDate alloc] init];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setYear:1];
NSDate *nextYear = [gregorian dateByAddingComponents:offsetComponents toDate:today options:0];
Comme VdesmedT mentionné, vous pouvez utiliser dateByAddingTimeInterval et ajoutez les secondes d'un an. Mais pour être plus précis, vous pouvez faire ce qui suit:
NSDate *today = [NSDate date]; // get the current date
NSCalendar* cal = [NSCalendar currentCalendar]; // get current calender
NSDateComponents* dateOnlyToday = [cal components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:today];
[dateOnlyToday setYear:([dateOnlyToday year] + 1)];
NSDate *nextYear = [cal dateFromComponents:dateOnlyToday];
Espérons que cela aide.
Ceci est ma version: dans swift.
let calendar = NSCalendar.currentCalendar()
let newDate = calendar.dateByAddingUnit(.Year, value: 1, toDate: NSDate(), options: NSCalendarOptions.MatchNextTime)
Il vous suffit de saisir l'année à partir de la date actuelle et d'en ajouter une. Quelle partie ne savez-vous pas faire? – Gabe