Mat
Mat

Reputation: 6324

NSDateFormatter - SetDateFormat

I have a text field where the user can insert the date and the time in this format: MMDDHHMM (11230530) and I want the label to be set as 23 november at 0530 am. I tried:

NSString *data = [NSString stringWithFormat:@"%@", [date text]];

  // Convert string to date object
NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MMdd hh:mm"];
NSDate *dateFromString = [dateFormatter dateFromString:data];
NSLog(@"%@", dateFromString);

// Convert date object to desired output format
[dateFormatter setDateFormat:@"???????????"];// I don't know how to change the format ;-)
data = [dateFormatter stringFromDate:dateFromString]; 
NSLog(@"%@", data);
[dateFormatter release];

but I'm getting null from data. any clue?

Upvotes: 3

Views: 11387

Answers (2)

KingofBliss
KingofBliss

Reputation: 15115

Use this code,

NSString *date = [NSString stringWithFormat:@"11230530"];
NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MMddHHmm"];

NSDate *dateFromString = [dateFormatter dateFromString:date];
NSLog(@"%@", dateFromString);
[dateFormatter release];

dateFormatter =[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd MMMM' at 'hhmm a"];
NSString *stringFromDate=[dateFormatter stringFromDate:dateFromString];
//Use this text to display in that textfield
[dateFormatter release];

Upvotes: 10

Sandeep Singh
Sandeep Singh

Reputation: 826

Use this code in this way

NSDate *data = [NSDate stringWithFormat:@"%@", [date text]];];
NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MMdd hh:mm"];

NSDate *dateFromString = [dateFormatter dateFromString:data];
NSLog(@"%@", dateFromString);

Hopes it will help.

Upvotes: 2

Related Questions