Проблемы преобразования DATETIME с использованием SQLITE3 и Objective C

У меня есть база данных sqlite3 со столбцом DATETIME, содержащим значения, отформатированные так:

2013-01-09 04:00:00



я пытаюсь выяснить, как определить время - AM или PM?

Вот'Как я могу прочитать и преобразовать объекты DATETIME из моей базы данных Sqlite3 с помощью Objective-C:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
char *DateTimeColumn = (char *)sqlite3_column_text(statement, 13);
NSDate *myDate =[dateFormat dateFromString:[NSString stringWithUTF8String:DateTimeColumn]];

Это работает очень хорошо, кроме какt выяснить, будет ли это 4:00 утра или 4:00 вечера.



Я видел сообщение, предлагающее добавитьa в конце строки форматера примерно так:

"yyyy-MM-dd hh:mm:ss a"

... чтобы выяснить AM / PM - но это вызвало сбои. (Я конечно тоже добавилAM а такжеPM к фактическим значениям в моем столбце DATETIME, например, так:

2013-01-09 04:00:00 AM

но все равно разбился.



Не уверен, если яя делаю что-то не так - или если это просто можетэто будет сделано.



Это единственное решение, чтобы записи в самой БД были все в 24 часа. формат (значение: 16:00 следует ввести как 16:00), а затем использоватьIF заявления вычесть 12 из значений> 12, чтобы определить времяс AM или PM 'Несс?

Я бы подумал тамБуду какой-то автоматизированной функцией для этого ... Есть идеи?

=================================

EDIT / UPDATE: Я

я вдруг получаю(ноль)' после преобразования строки в NSDate. Вот'текущая версия кода:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
char *DateTimeColumn = (char *)sqlite3_column_text(statement, 13);
NSString *DateTimeString = [NSString stringWithUTF8String:DateTimeColumn];
NSLog(@"DateTimeString = %@", DateTimeString);
   // This NSLog gives me a good string: "DateTimeString = 2013-01-09 16:00:00"
// But when I create an NSDate object from this string:
NSDate *myDate =[dateFormat dateFromString:DateTimeString];
// ... and log it out: 
NSLog(@"the REAL DATETIME object = %@", [myDate description]);
// the console shows: "the REAL DATETIME object = (null)"
// and when I add this NSDate object to my Array of NSDates, I crash:
[tempNSDateObjectsArray addObject:myDate];

Console shows: 
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',     
reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
*** First throw call stack:

Ответы на вопрос(2)

Ваш ответ на вопрос