NSDateFormatter возвращает ноль для даты в IOS 4.3.3 - PullRequest
0 голосов
/ 12 сентября 2011

Я конвертирую строку в дату и снова в строку.используя следующий код

 NSString *newDate =[NSString stringWithFormat:@"%@",[(Jobs *)[tableArray objectAtIndex:indexPath.row]Date]];


    NSLog(@"New Date is %@",newDate);
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MM/dd/yyyy h:mm:ss a"];
    NSDate *myDate = [dateFormat dateFromString:newDate];
    [dateFormat setDateFormat:@"MM/dd/yyyy"];

    NSString *str = [dateFormat stringFromDate:myDate];

    NSLog(@"DAte is %@",str);

Возвращает дату в симуляторе, но не в iphone 4.3.3, пожалуйста, помогите

1 Ответ

1 голос
/ 12 сентября 2011

NSDateFormatter вернет ноль, если не может получить дату из строки.Чтобы увидеть, может ли он анализировать дату, добавьте другой оператор NSLog:

NSString *newDate =[NSString stringWithFormat:@"%@",[(Jobs *)[tableArray objectAtIndex:indexPath.row]Date]];

NSLog(@"New Date is %@",newDate);
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy h:mm:ss a"];

NSDate *myDate = [dateFormat dateFromString:newDate];
NSLog(@"Date parsed: %@", myDate);

[dateFormat setDateFormat:@"MM/dd/yyyy"];

NSString *str = [dateFormat stringFromDate:myDate];

NSLog(@"DAte is %@",str);

Но поскольку вам нужна только первая часть строки, почему бы просто не подставить ее.

NSString *str = [newDate substringToIndex:10];

ичто возвращается здесь:

NSString *newDate =[NSString stringWithFormat:@"%@",[(Jobs *)[tableArray objectAtIndex:indexPath.row]Date]];

если свойство Date уже является NSDate ?, вы можете показать свой файл .h для Джобса?

...