Converting to NSDate from NSString - objective-c

I am trying to convert a Nsstring object to Nsdate.My code is like this
NSString *Time=#"09/26/2011 2:06 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault];
//Time=[mystr substringToIndex:3];
[dateFormatter setDateFormat:#"MM-DD-YYYY HH:MM"];
NSDate *dateFrom = [dateFormatter dateFromString:Time];
NSLog(#"\n\n\n\nThe date==%#\n\n\n\n\n",dateFrom);
But It returns a null value..Any help is Appreciated .Thanks in advance

Try to replace:
[dateFormatter setDateFormat:#"MM-DD-YYYY HH:MM"];
with
[dateFormatter setDateFormat:#"MM/dd/yyyy HH:mm a"];

Related

NsDateFormatter format the date

How can i this format this date ?
2/24/2017 11:13:43 AM
i tried this code but not worked
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:#"MM/dd/yyyy HH:mm:ss"];
NSString *stringDate = [dateFormatter stringFromDate:createdDate];
You need to change the dateformate. You need to 'a' into formater.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:#"MM/dd/yyyy hh:mm:ss aa"];
NSString *stringDate = [dateFormatter stringFromDate:[NSDate date]];
Output:
Printing description of stringDate:
02/25/2017 09:56:42 AM
You can see more about dateFormate.
Cheers

NSDate returning nil for the NSDateFormatter set correctly

I am getting the date in NSString format as mentioned below.
Input:datestring = 30/04/2013 04:49 PM
I am applying the format for NSDateformatter as mentioned below to convert this NSString to NSDate .
Format:dateFormat= dd/MM/yyyy hh:mm a
I still get the date conversion to Nil. Please help as I am not understanding this issue.Here is my code snippet to explain what i am doing in the utility function.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:dateFormat];
NSDate *date = [dateFormatter dateFromString:dateString];
return date;
Try This....
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:#"dd/MM/yyyy hh:mm a"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:#"UTC"]];
NSDate *date = [dateFormatter dateFromString:#"30/04/2013 04:49 PM"];
NSLog(#"%#",date);

Convert NSString in 12 hour time format

In my project I have an NSString that contains data like this
NSString *s=#"20";
I want to convert this as "08:00 ". How can I do this?
I tried this one:
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:#"hh:mm a"];
NSString* dateString = [dateFormatter stringFromDate:#"20"];
but I am getting this dateString as null value.
You input as NSString, need output as NSString.
So intermediate work of NSDate and NSDateFormatter are not required.
You can attain this by :
NSString *s=#"20";
NSString *time=[NSString stringWithFormat:#"%d:00",[s integerValue]%12];
Please try to use this one .I hope it will work fine...
NSString *s=#"20";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:#"HH"];
NSDate *date = [df dateFromString:s];
[df setDateFormat:#"hh:mm a"];
NSString *newTime = [df stringFromDate:date];
NSLog(#"Time : %#",newTime);

NSString to NSDate conversion issue

I have Date is 2012-09-25 09:33:10 +0000 , using
[dateFormatter setDateFormat:#"yyyy-MM-dd HH:mm:ss"];
NSDate *d = [dateFormatter dateFromString:sDate];
// sDate = #"2012-September-21"
But i get nil , instead of a formatter date. What can be the issue ?
Since your sDate = #"2012-September-21", it does not have time (hour minutes and seconds) in your string sDate. So you should set your format like this
[dateFormatter setDateFormat:#"yyyy-MM-dd"];
You don't include time into string. You also need to fix the locale:
[dateFormatter setDateFormat:#"yyyy-MM-dd"];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:#"en_US"]];
[dateFormatter dateFromString:#"2012-September-21"];
From your question it is not clear that what is input, but i have tested with below given input it is working
NSString *dateString = #"2012-09-25 09:33:10";
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter.dateFormat = #"yyyy-MM-dd HH:mm:ss";
NSDate *date = [dateFormatter dateFromString:dateString];

How can I parse this string to NSDate with NSDateFormatter?

I have a date as a string in the format:
2010-12-31 20:21:00 +0200
What I'd like to do is parse this using NSDateFormatter to an NSDate object but I'm having difficulty matching the format properly.
NSDateFormatter *dateFormatter = NSDateFormatter.alloc.init;
[dateFormatter setTimeZone: NSTimeZone.localTimeZone];
[dateFormatter setDateFormat: #"yyyy-MM-dd HH:mm:ss'Z'"];
[dateFormatter dateFromString: #"2010-12-31 20:21:00 +0200"] // returns nil ;
Can anybody help me find the correct format? thanks
This code works:
NSDateFormatter *dateFormatter = NSDateFormatter.alloc.init;
[dateFormatter setTimeZone:NSTimeZone.localTimeZone];
[dateFormatter setDateFormat:#"yyyy-MM-dd HH:mm:ss Z"];
NSDate *date = [dateFormatter dateFromString:#"2010-12-31 20:21:00 +0200"];
NSLog(#"%#", [dateFormatter stringFromDate:date]);
And I just want you to know, kind sir, that my eyes bleed when I see this NSDateFormatter.alloc.init
NSDateFormatter* format = [[NSDateFormatter alloc]init];
[format setDateFormat:#"MM/dd/YYYY"];
NSString * currentDate = [format stringFromDate:[NSDate date]];
NSDate *date = [format dateFromString:currentDate];