Convert string to date in my iPhone app

0 votes
asked Dec 7, 2010 by appaspect

I have made a calendar application for the iPhone in which I have a date in string format (e.g. "Tue, 25 May 2010 12:53:58 +0000").

I want to convert this to an NSDate.

What do I need to use to do that?

4 Answers

0 votes
answered Dec 7, 2010 by sam-ritchie

Take a look at the class reference for NSDateFormatter. You use it like this:

NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000";

// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"];
NSDate *date = [dateFormat dateFromString:dateStr]; 
[dateFormat release];

For more information on how to customize that NSDateFormatter, try this reference guide.


Just so you know, this is going to parse the full month name. If you want three letter month names, use LLL instead of LLLL.

0 votes
answered Dec 20, 2013 by pier-luc-gendreau

If you are storing dates in one of iOS' styles, it's far easier and less error prone to use this method:

// Define a date formatter for storage, full style for more flexibility
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterFullStyle];
[dateFormatter setTimeStyle:NSDateFormatterFullStyle];

// Use today as an example
NSDate *today = [NSDate date];
// Format to a string using predefined styles
NSString *dateString = [dateFormatter stringFromDate:today];
// Format back to a date using the same styles
NSDate *todayFromString = [dateFormatter dateFromString:dateString];
0 votes
answered Dec 22, 2015 by anand-prakash
-(NSString *)dateToFormatedDate:(NSString *)dateStr {
    NSString *finalDate = @"2014-10-15";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    NSDate *date = [dateFormatter dateFromString:dateStr];
    [dateFormatter setDateFormat:@"EE, d MMM, YYYY"];
    return [dateFormatter stringFromDate:date];
0 votes
answered Sep 15, 2017 by shaik-tamim
NSString *dateString=@"2017-05-25";

NSDateFormatter *dateFormatter=[NSDateFormatter alloc]init];

[dateFormatter setDateFormatter:@"MM-dd-yyyy"];

NSDate *date =[[NSDate alloc]init];

date=[datFormatter dateFromString:dateString];
Welcome to Q&A, where you can ask questions and receive answers from other members of the community.
Website Online Counter