NSDateFormatter stringFromDate, возвращающий пустую строку - PullRequest
2 голосов
/ 01 марта 2012

Вот как я это настраиваю:

self.df = [[NSDateFormatter alloc] init];
[self.df setFormatterBehavior:NSDateFormatterBehavior10_4];
[self.df setDateFormat:@"posted: MM-dd-YYYY"];

Вот как я это называю в своем следе:

 NSLog(@"%@, %@, %@, %@", df, post.date, [post.date class], [df stringFromDate:post.date]);

Вот вывод:

<NSDateFormatter: 0x8440d60>, 2012-02-09 12:40:38 +0000, __NSDate, 

Это не нуль, это "".

Класс post со свойством date автоматически генерируется основными данными. Я не понимаю, как это имеет значение, но это единственное, что кажется даже немного необычным

Ответы [ 2 ]

4 голосов
/ 01 марта 2012

Вы не можете использовать setDateFormat таким образом.

Я попробовал этот код, и он заработал:

[self.df setDateFormat:@"MM-dd-YYYY"];

Теперь вы можете сделать:

NSString *myString = [NSString stringWithFormat:@"posted:%@", [df stringFromDate:post.date]];
0 голосов
/ 27 июня 2018

Я столкнулся с этой проблемой при попытке использовать TIME_CONSTANT для вычисления даты:

extern NSUInteger SECONDS_IN_A_DAY;

// ...

NSUInteger SECONDS_IN_A_DAY = 86400;

// ...

NSDate *yesterday = [[NSDate date] dateByAddingTimeInterval:-SECONDS_IN_A_DAY];

В результате stringFromDate: для этой даты будет @"".

ЕслиЯ использую 86400 напрямую, а не константу, NSString выходит нормально.

Возможно, проблема с отрицанием NSUinteger?Пожалуйста, оставьте комментарий, если вы знаете, почему это не сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...