3

我知道关于这个主题还有另一个类似的问题,但我个人对接受的答案不满意,所以这个问题还要求解释以证明首选方法的合理性。接受的答案说“推荐的做法是使用文本字段在 SQL lite 中存储日期”,但这对我来说没有意义。我没有足够的知识来反驳更明确的答案,但我的理解是字符串使用更多的内存并且在计算上比整数更难处理。使用 Unix 时间戳(存储为整数)而不是文本来存储日期/时间不是更好吗?不是,与文本相比,使用 Unix 时间戳有什么缺点?

4

1 回答 1

4

就我个人而言,我不会那么担心。我总是使用带有 unix 时间戳的整数,你是对的,它们会使用更少的内存。它们也很容易解释,但只能精确到秒,仅此而已。如果您需要更精确的东西(毫秒等),那么您需要发挥创造力。

但是存储为纯文本很好,SQLite 没有存储日期时间的功能,因此http://www.sqlite.org/datatype3.html#datetime建议的三个选项是TEXT, REAL and INT.

鉴于这些是他们实际告诉您存储日期和时间的方式,并且鉴于没有官方说法更可取,我不会太担心。选择你觉得舒服的和最适合你需要的。

于 2012-08-14T08:36:31.257 回答