将时间戳保存到sqlite中

时间:2010-12-27 07:02:17

标签: iphone sqlite timestamp save

18.11.2009 10:32:00

我希望将上面标记(已创建)之间的值插入到sqlite数据库中,我已经采用了类型为timestamp的列.... 我该怎么把这个值存储在那一列? 请指教......

4 个答案:

答案 0 :(得分:2)

嗯,这取决于您希望将其保存在数据库中的格式。

如果要以字符串形式保存,请通过制作对象直接保存。但是,请使用字符串类型的数据类型。

另一种选择是使用date数据类型保存它,因为sqlite没有专用的日期/时间数据类型。

使用格式化程序设置日期格式:

 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"dd-MM-YYYY HH:MM:SS"];

然后创建Date对象,并保存它。

答案 1 :(得分:1)

您应该用连字符替换点,并按正确顺序放置月,日和年部分。 根据{{​​3}},这些是接受日期和时间的格式:

  1. YYYY-MM-DD
  2. YYYY-MM-DD HH:MM
  3. YYYY-MM-DD HH:MM:SS
  4. YYYY-MM-DD HH:MM:SS.SSS
  5. YYYY-MM-DDTHH:MM
  6. YYYY-MM-DDTHH:MM:SS
  7. YYYY-MM-DDTHH:MM:SS.SSS
  8. HH:MM
  9. HH:MM:SS
  10. HH:MM:SS.SSS
  11. 现在
  12. DDDDDDDDDD

答案 2 :(得分:0)

这里有两个选项(如果你想要排序,我假设你这样做):

  • 以字符串形式添加,但从最高到最低重新排序字段。在那之后,通过文本排序是一件简单的事情。这是较慢的选择。
  

2009.11.18 10:32:00

  • 转换为UNIX时间戳,I.E。自1970年1月1日以来的秒数。这是最快的选择。
  

1261153920

然后使用date and time functions将其拉出来很简单。

请注意SQLite does not have a date/time data type

答案 3 :(得分:0)

制作日期对象

然后使用此

[date timeIntervalSinceDate:objDate];

这给出了日期和objDate之间的时间间隔。用于查找timeInterval的两个日期(日期和objDate)。

通过将其转换为字符串来保存。