在Android SQLite中处理日期的首选方式是什么?为什么?

在Android SQLite中处理日期的首选方式是什么?为什么?,android,sqlite,datetime,optimization,Android,Sqlite,Datetime,Optimization,我知道在这个话题上还有另一个问题,但就我个人而言,我对公认的答案并不满意,所以这个问题也需要解释,以证明首选方法的合理性。公认的答案是“建议使用文本字段在SQLLite中存储日期”,但这对我来说没有意义。我的知识还不够渊博,无法给出更明确的答案,但据我所知,字符串比整数占用更多内存,在计算上更难处理。使用Unix时间戳(存储为整数)而不是文本来存储日期/时间不是更好吗?不是,与文本相比,使用Unix时间戳的缺点是什么?我个人不会太担心。我总是使用带有unix时间戳的INT,没错,它们会占用更少的

我知道在这个话题上还有另一个问题,但就我个人而言,我对公认的答案并不满意,所以这个问题也需要解释,以证明首选方法的合理性。公认的答案是“建议使用文本字段在SQLLite中存储日期”,但这对我来说没有意义。我的知识还不够渊博,无法给出更明确的答案,但据我所知,字符串比整数占用更多内存,在计算上更难处理。使用Unix时间戳(存储为整数)而不是文本来存储日期/时间不是更好吗?不是,与文本相比,使用Unix时间戳的缺点是什么?

我个人不会太担心。我总是使用带有unix时间戳的INT,没错,它们会占用更少的内存。此外,它们非常不言自明,但仅精确到秒,仅此而已。如果你需要更精确的东西(毫秒等),那么你需要有创造力

但是,以纯文本形式存储是可以的,SQLite没有存储datetime的功能,因此建议的三个选项是
text、REAL和INT


考虑到这些都是他们告诉你存储日期和时间的方式,而且没有哪个官方词汇更可取,我不会太担心。选择您喜欢的,最适合您需要的。

好的,谢谢!从一个有经验的程序员那里知道这两种方式都不会产生太大的影响,这是很好的。我想,要真正了解两者之间是否存在差异,唯一的办法就是进行一些性能测试。不过,除非我看到使用datetime会导致大量资源流失,否则我不会同时使用这两种方法。影响可以忽略不计。在看到任何明显的影响之前,您必须对大量数据执行一些非常复杂的查询。