2012-07-12 6 views
6

Ich möchte Tag, Monat und Jahr des aktuellen Datums in iOS bestimmen. Ich fand diese nach einer Suche im Internet:So bestimmen Sie Tag, Monat und Jahr als int in iOS

NSDate *date = [NSDate date]; 
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDateComponents *components = [calendar components:(NSDayCalendarUnit) fromDate:date]; 
NSInteger Day = [components day]; 
NSInteger month = [components month]; 
NSInteger year = [components year]; 

Dieser Code der Tag richtig zeigt, aber das Jahr und Monat zeigt nicht, wie es sein sollte. Es zeigt einige Ziffern wie 2147483647. Ich konnte keine Lösung finden. Bitte helfen Sie mir, den Code zu korrigieren, den ich gefunden habe, oder schreiben Sie einen neuen Code, der das tut, was ich brauche.

Antwort

13

Diese Linie ist das Problem:

NSDateComponents *components = [calendar components:(NSDayCalendarUnit) fromDate:date]; 

Es

NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:date]; 
+0

Dank SOSBORN Ich schätze Ihre Hilfe sein sollte – rudasagani