1

i have date in this format 2014-09-20 04:45:20 +0000 and i need to convert this to yyyy-MM-dd'T'HH:mm:ss.SSSZ format.I tried with the following code

NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
            [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];
            NSDate *date = [formatter dateFromString:@"2014-09-20 04:45:20 +0000"];
            NSLog(@"%@",date);

but date giving me null value..

I am geting 2014-09-20 04:45:20 +0000 from time picker so anythg needs to be done on picker side will also help me.

rmaddy
  • 314,917
  • 42
  • 532
  • 579
Feroz
  • 173
  • 1
  • 10

1 Answers1

2

Try this:

NSString *aStrDate = @"2014-09-20 04:45:20 +0000";
NSDateFormatter *aDateFormatter = [[NSDateFormatter alloc] init];
aDateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z";
NSDate *aDate = [aDateFormatter dateFromString:aStrDate];
aDateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
NSLog(@"%@",[aDateFormatter stringFromDate:aDate]);
Yasika Patel
  • 6,356
  • 3
  • 19
  • 21
  • 3
    This is not right. The 2nd string will be in local time but will have `Z` added to make it appear like it is in UTC time. – rmaddy Sep 20 '14 at 05:30
  • @Yasika What if Nsdate *date = 2014-09-21 05:58:18 +0000 how to convert this to yyyy-MM-dd'T'HH:mm:ss.SSS'Z' – Feroz Sep 20 '14 at 06:02