Much like Casey Liss of the Accidental Tech Podcast, talked about recently on the Debug podcast, I came from C# before I started working on Objective-C. One frustration he had originally with Objective-C was with getting a human readable date out of an NSDate object, when it was so easy to just type someDateTime.toString() in C#. That was also one of my earliest frustrations, and I thought it would be nice to share with my readers.
In C#, you store dates in objects of the type DateTime. The Objective-C equivalent of this is NSDate. In C#, you can simply create a specific date date with:
DateTime someDate = new DateTime(2013, 12, 31);
And that would make a DateTime object for December 31, 2013. There are a few ways to do this in Objective-C, and while they are not as easy, they do make it much more friendly to using non-Gregorian calendar systems. NSDateFormatter can both format an NSDate into a string (more on this later), but it can also attempt to parse a string with date data. The more exact way though, would probably be to use NSDateComponents.