【问题标题】:What are the reasons to convert string date to a long when inserting a date into sqllite?将日期插入sqllite时将字符串日期转换为长的原因是什么?
【发布时间】:2025-11-30 05:00:01
【问题描述】:

我在 java 中看到了许多程序(尤其是 Android 程序),它们将字符串日期转换为长整数并将日期保存到 sqlite 数据库。为什么这是必要的?是在做转换吗?或者sqlite有什么特别需要这个的吗?在编写移动应用程序时,应将 CPU 工作保持在最低限度。

【问题讨论】:

    标签: java android performance sqlite long-integer


    【解决方案1】:

    数据库不将日期存储为字符串。想一想,文本“2013 年 7 月 20 日”占用 13 个字节。那是多少位? 13 * 8 = 104。相反,内部表示是从已知时间偏移的一些变化。在 C 中,这是时代。例如,自 1970 年以来的天数可以存储为 16 位数字。转换的原因是为了将表示更改为紧凑的形式,以便数据库可以有效地处理数据。

    【讨论】:

    • 也解决了时区问题,显示的时候可以应用多种格式,而且,...