在Ipad中从数据库中读取日期

时间:2011-04-22 19:17:14

标签: sqlite core-data ios4 ipad nsdateformatter

比方说,我有以下代码,我从数据库中检索日期

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

,其中

i)objSample是我Sample实体的对象

ii)startDateSample实体中的一个属性,声明为@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数据库浏览器,如果我在Sample的startDate属性中输入值“04/23/1999”,DateLabel.text中显示的值是一个完全不同的值,如果我输入一个值,作为“76851234”,DateLabel.text中显示的值为“05/23/2001”。

由于我是处理数据库的新手,我无法理解为什么会这样... 有人能告诉我为什么会这样吗?有没有办法可以使用SQLite数据库浏览器直接将日期输入数据库,以便显示该日期?

是我在SQLite数据库浏览器中输入“Unix日期格式”的日期格式?如果是这样,我怎么能将日期转换为unix日期格式,以便我确定我将在我的应用程序上显示的确切日期...

1 个答案:

答案 0 :(得分:1)

答案是,你不能。

SQLite是“无类型”。这意味着您可以将任何类型的数据存储在任何表的任何列中,而不管该列的声明数据类型如何。 http://www.sqlite.org/datatypes.html