March, 12 2014 14:22:29
and
2014-03-12 18:22:29 +0000
That's 4 hour difference. Note the parsed date is in +0000 time. You are located in Philadelphia (-0300), with daylight saving time (-1 other hour). Therefore your current time zone is -0400.
Your string doesn't specify a time zone, therefore the system current time zone is used and the date is parsed as 2014-03-12 14:22:29 -0400
. However, when you are logging it, you are using [NSDate description]
which prints the date with zero time zone.
Your code is giving the correct results but you are testing them wrong.