Чтение даты из базы данных в Ipad - PullRequest
0 голосов
/ 22 апреля 2011

скажем, например, у меня есть следующий фрагмент кода, с помощью которого я получаю дату из базы данных

        DateLabel.text = [CommonHelper getDateString:objSample.startDate :@"MM/dd/yyyy"];

, где

i) objSample является объектом моего Sample entity

ii) startDate - это атрибут в сущности Sample, объявленный как @property (nonatomic, retain) NSDate * startDate;

iii) CommonHelper - это другой файл, где у меня есть функция getDateString: какниже,

+ (NSString *) getDateString:  (NSDate *) date: (NSString *) format
  {
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:format]; 
    NSString *dateStr = [dateFormat stringFromDate:date];
    [dateFormat release];
    return dateStr;
   }

Используя Sqlite Database Browser, если я введу значение как «23.04.1999» в атрибут startDate примера, значение, которое отображается в DateLabel.text, является совершенно другим значением иесли я введу значение, например «76851234», значение, отображаемое в DateLabel.text, будет «23.05.2001».

Поскольку я новичок в работе с базой данных, я не могу понять, почемуэто случается ... Кто-нибудь сможет сказать мне, почему это происходит?и есть ли способ, которым я могу напрямую ввести дату в базу данных с помощью браузера баз данных SQLite, чтобы эта дата отображалась?

Является ли формат даты, который я ввожу в браузер базы данных SQLite, «форматом даты Unix»?если это так, как я смогу преобразовать дату в формат даты Unix, чтобы я точно знал, какая именно дата будет отображаться в моем приложении ...

1 Ответ

1 голос
/ 23 апреля 2011

Ответ на этот вопрос таков: вы не можете.

SQLite - это " typeless ".Это означает, что вы можете хранить любые данные в любом столбце любой таблицы, независимо от объявленного типа данных этого столбца.http://www.sqlite.org/datatypes.html

...