Проблемы с преобразованием NSDate в строку - PullRequest
0 голосов
/ 03 февраля 2012

Эта чрезвычайно простая задача была, очевидно, очень сложной ...

NSDate *date;
date = [someMethod here];
//I've checked with debugger that the method returns an object of type NSDate. 
//The description of date at this point is: "2012-02-02 19:42:00 +0000"

NSDateFormatter *dateFormat;
[dateFormat setDateFormat:@"dd-MM-yy hh:mm"];
NSString *dateString = [dateFormat stringFromDate:date];

dateString просто NIL

Кто-нибудь знает, что случилось?* Редактировать: я действительно хочу достичь просто:

NSString *receivedDate = @"2012-02-02T20:42:00+01:00";
NSString *fixedDate = [do some magic]
//value of fixedDate is now: "02-02-12 20:42"

1 Ответ

3 голосов
/ 03 февраля 2012

Как сказала Анна, вам нужно выделить экземпляр NSDateFormatter, потому что все, что вы получаете, это NULL ptr, который просто игнорирует сообщения setDateFormat и stringFromDate, оставляя вас с NULL.

Но также ваш формат для часовэто неверно.См. Справочник по форматированию даты

Это работает для меня:

NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateFormat:@@"dd-MM-yy HH:mm"];
NSString *dateString = [df stringFromDate:date];
...