I need to convert a date string retrieved from a server, to local NSDate, the string looks like:
"Fri, 30 Nov 2012 00:35:18 GMT"
But now it is Friday, 30th Nov, 11:36 AM, so how do I convert the string to a meaningful local NSDate?
I found:
iPhone: NSDate convert GMT to local time
But looks like it does the opposite.
Just use
NSDateFormatter
with the formatting stringeee, dd MMM yyyy HH:mm:ss zzz
. The Zs at the end cause it to read the time zone from the string.So, given QA1480, sample code:
Note that NSDate's always store the date, internally, in GMT. You then use a date formatter to create a string in your local time zone. In this case, you are starting with a string so need to use the date formatter to create the date in the first place, and then use it again to create a string in your local time zone (which it defaults to when the timezone is not specified).