2016-08-12 3 views
0

ein Wert hinzugefügt in NSMutableArray mit Wörterbuch SelectedDate = "2016-08-12";Datumswert ist zurück Null

Ich versuche, das Datum von meinem MutableArray, zu holen

NSDate *dateFromTable = [[Array valueForKey:@"SelectedDate"] objectAtIndex:0]; 
      NSDateFormatter *dateformate=[[NSDateFormatter alloc]init]; 
      [dateformate setDateFormat:@"dd"]; 
     NSString *dateValue = [dateformate stringFromDate:dateFromTable]; 

DATWERT ist immer gleich Null zurückkehren, keine Ahnung, was ich falsch gemacht habe.

+0

http://stackoverflow.com/questions/10713024/stringfromdate-always-nil – rscarson

+1

Was ist diese Zeile 'NSDate * dateFro mTable = [[Array valueForKey: @ "SelectedDate"] objectAtIndex: 0]; '? __triple prüfte die Plausibilität dieser Zeile? __ weil das wahrscheinlich überhaupt keine 'NSDate'-Instanz darstellt, aber es ist höchstwahrscheinlich ein' NSString' - es wird keinen Absturz verursachen, fällt aber beim Formatieren auf 'nil' zurück es ist egal, wie schwer du es versuchen würdest; Daher müssten Sie den Wert zuerst in eine 'NSDate'-Instanz konvertieren. – holex

+1

Ihre Frage impliziert, dass Sie den Tagesabschnitt einer Datumszeichenfolge extrahieren möchten. Aber Ihr Code wird so geschrieben, als würden Sie mit einem 'NSDate' beginnen, nicht mit einem' NSString'. – rmaddy

Antwort

0

Passen Sie diese an Ihrem Code:

NSArray *array = @[@"2016-08-12"]; // array with dates in string format 
NSString *dateFromTable = array.firstObject; // get first element 
NSDateFormatter *dateformater =[NSDateFormatter new]; 
[dateformater setDateFormat:@"yyyy-MM-dd"]; 
NSDate *date = [dateformater dateFromString:dateFromTable]; // get date from string 
NSLog(@"%@", date); // 2016-08-12 22:00:00 +0000 
[dateformater setDateFormat:@"dd"]; 
NSString *dateValue = [dateformater stringFromDate:date]; // get string from date 
NSLog(@"%@", dateValue); // 12 
0

das Datum von Array String Get und

NSString *dateFromTable = [NSString stringWithFormat:@"%@",[[Array valueForKey:@"SelectedDate"] objectAtIndex:0]]; 
NSDateFormatter *dateformate=[[NSDateFormatter alloc]init]; 
[dateformate setDateFormat:@"yyyy-MM-dd"]; 
NSDate *dateValue = [dateformate dateFromString:dateFromTable]; 

Dann bisher konvertieren Wenn Sie das Datum auf Zeichenfolge erhalten möchten unten folgen die Schritte

[dateformat setDateFormat:@"yyyy-MM-dd"]; //Whatever you want to change the date format change here 
NSString *strDateValue = [dateformater stringFromDate:dateValue];