在Android SQLite和WHY中使用日期的首选方法是什么?

时间:2012-08-14 08:30:31

标签: android sqlite datetime optimization

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

1 个答案:

答案 0 :(得分:4)

就个人而言,我不会那么担心。我总是使用带有unix时间戳的int,你是对的,他们会使用更少的内存。他们也非常自我解释,但只有精确到秒,仅此而已。如果你需要更精确的东西(毫秒等),那么你需要发挥创意。

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

鉴于这些是他们实际告诉你存储日期和时间的方式,并且鉴于没有官方用词更好,我不会太担心。选择最适合您的方式,最适合您的需求。