Когда вы отображаете объекты NSDate в отладчике или выводите их значения через NSLog, они всегда отображаются в виде даты и времени по Гринвичу (вот что означает +0000 в конце).
Ваш местный часовой пояс отображается вбыть «+0100» (Западная Европа?), поэтому форматер даты работает с «01 декабря 2011 00:00 утра +0100» и правильно создает NSDate.Но в точке отображения NSDate (которая представляет собой только один момент времени без информации о часовом поясе) отображается в GMT - и эквивалент на час раньше, то есть «30 ноября 2011 г. 23:00 +0000».
Если вы действительно хотите преобразовать '111201' в '01 декабря 2011 00:00 утра +0000', тогда установите часовой пояс форматера даты на GMT следующим образом:
self.dateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];