我知道还有一个 similar question关于这个话题,但我个人对接受的答案不满意,所以这个问题也要求解释以证明首选方法的合理性。接受的答案说“推荐的做法是使用文本字段在 SQL lite 中存储日期”,但这对我来说没有意义。我的知识不足以用更明确的答案来反驳,但我的理解是字符串使用更多内存并且在计算上比整数更难处理。使用 Unix 时间戳(存储为整数)而不是文本来存储日期/时间不是更好吗?不是,与文本相比,使用 Unix 时间戳的缺点是什么?
最佳答案
就我个人而言,我不会太担心。我总是使用带有 unix 时间戳的整数,你是对的,它们会使用更少的内存。它们也很容易解释,但只精确到秒,仅此而已。如果您需要更精确的东西(毫秒等),那么您需要发挥创意。
然而,存储为纯文本很好,SQLite 没有存储日期时间的功能,因此 http://www.sqlite.org/datatype3.html#datetime 中建议的三个选项是 TEXT、REAL 和 INT
。
鉴于这些是他们实际告诉您的存储日期和时间的方式,并且鉴于没有官方说法更可取,我不会太担心。选择您喜欢的和最适合您需求的。
关于android - 在 Android SQLite 中使用日期的首选方式是什么?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11948529/