2

I'm new in objective-c and i have my first problem with date formetter. I'm parsing a feed and i get the date for articles.

The format of this is : Tue, 31 Mar 2015 10:52:33 . I want to convert this sting into a date . I was trying multiples methods but always i get this:

NSDate *articleDate = [NSDate dateFromInternetDateTimeString:dataArticol formatHint:DateFormatHintRFC3339];
NSDate *newData=[NSDate dateFromInternetDateTimeString:dataArticol formatHint:@"EEE , dd-MM-yyyy'T'HH:mm:ss.SSSZ"];

Results :

2015-03-31 14:54:40.744 FluxRSS[6358:1052102] Could not parse RFC822 date: "Tue, 31 Mar 2015 10:52:33
            " Possible invalid format.

or if i do like :

 NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"EEE , dd-MM-yyyy'T'HH:mm:ss.SSSZ"];
    [formatter setLenient:YES];

    NSString* buggeredTime = [[dataArticol substringToIndex:26] stringByAppendingString:[dataArticol substringFromIndex:27]];

    NSDate* dueDate = [formatter dateFromString:buggeredTime];
    [formatter setDateFormat:@"'Time Due: 'hh:mm a  MM/dd/yy"];
    NSString* dateString = [formatter stringFromDate:dueDate];

dueData is nil . Can anyone help me ,please?

Adina Marin
  • 663
  • 1
  • 4
  • 15
  • 1
    The formatter you providing to can be told as wrong by merely looking at the date and the format you're using. A simple search would've get you what you want to do here like [NSDate to RFC 2822 Date format](http://stackoverflow.com/a/8636816/593709) – Adil Soomro Mar 31 '15 at 12:21

1 Answers1

2

use this code it's working..

 NSString *string=@"Tue, 31 Mar 2015 10:52:33";
 NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
 [formatter setDateFormat:@"EEE, dd MM yyyy HH:mm:ss"];
 NSDate *date=[formatter dateFromString:string];
Chandan kumar
  • 1,074
  • 12
  • 31
  • yes . it's working, but if i put NSString *string=dataArticol; the result is nil . – Adina Marin Mar 31 '15 at 12:23
  • NSString *dataArticol= [[stories objectAtIndex: storyIndex] objectForKey: @"pubDate"]; dataArticol = [dataArticol stringByReplacingOccurrencesOfString:@" +0000" withString:@""]; this is how is set dataArticol – Adina Marin Mar 31 '15 at 12:24
  • (lldb) po dataArticol Tue, 31 Mar 2015 10:52:33 – Adina Marin Mar 31 '15 at 12:31
  • [formatter setDateFormat: @"EEE, dd MMM yyyy HH:mm:ss Z"]; [formatter setDateFormat: @"EEE, dd MMM yyyy HH:mm:ss "]; chek both formate may work... – Chandan kumar Mar 31 '15 at 12:37