【问题标题】:Saving Timestamp into sqlite将时间戳保存到 sqlite
【发布时间】:2010-12-27 07:02:17
【问题描述】:

18.11.2009 10:32:00

我希望将上述标记(创建)之间的值插入到我已为其获取时间戳类型列的 sqlite 数据库中...... 我如何将该值存储在该列中? 请指教...

【问题讨论】:

    标签: iphone sqlite timestamp save


    【解决方案1】:

    嗯,这取决于您要以哪种格式将其保存在数据库中。

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

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

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

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

    然后制作 Date 对象,并保存。

    【讨论】:

      【解决方案2】:

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

      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

      【讨论】:

        【解决方案3】:

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

        • 添加为字符串,但将字段从高到低重新排序。之后,通过文本进行排序是一件简单的事情。这是较慢的选项。

        2009.11.18 10:32:00

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

        1261153920

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

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

        【讨论】:

          【解决方案4】:

          为日期制作对象

          那就用这个

          [date timeIntervalSinceDate:objDate];
          

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

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

          【讨论】:

            猜你喜欢
            • 2021-12-31
            • 1970-01-01
            • 2020-12-12
            • 1970-01-01
            • 2018-06-22
            • 1970-01-01
            • 1970-01-01
            • 2015-11-30
            • 1970-01-01
            相关资源
            最近更新 更多