NSDateFormatter, производящий (нулевой) SQLite и iOS 5.1
Может быть, кто-нибудь может помочь объяснить, почему я получаю нулевое значение при преобразовании строки в дату. Все выглядит правильно, но я, очевидно, что-то здесь упускаю.
Немного предыстории:
Это приложение для iPad будет использоваться в разных странах, и мне нужно будет провести расчет даты, чтобы узнать, прошло ли 90 дней с момента последнего входа пользователя.
У меня есть база данных SQLite с полем DateLastIn, установленным как TEXT
Мой объект имеет свойство DateLastIn, установленное как NSDate
При заполнении моего объекта записи я настраивал NSDateFormatter как таковой.
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; // SQLite default date format
Затем я прочитал в DateLastIn (Использование оболочки FMDB для SQLite).
// test SQLite as String
NSString *testDate = [results stringForColumn:@"DateLastIn"];
NSLog(@"DateLastIn straight from DB (string) shows %@", testDate);
Результат: DateLastIn straight from DB (string) shows 2012-04-23 18:20:51
Пока все хорошо. Затем я тестирую преобразование этого объекта в объект NSDate, например
NSDate *aDate = [[NSDate alloc] init];
aDate = [formatter dateFromString:testDate];
NSLog(@"Using formmater on string date results in: %@", aDate);
Результат: Using formmater on string date results in: (null)
Я пробовал DATETIME в SQLite, я пытался использовать NSString в своем объекте вместо NSDate и, кажется, ходил кругами.
Любая помощь высоко ценится.