【问题标题】:Which format should I use to store dates and times in an Android App SQLite Database, such that I can use them to plot a graph?我应该使用哪种格式在 Android App SQLite 数据库中存储日期和时间,以便我可以使用它们来绘制图表?
【发布时间】:2018-04-06 14:40:35
【问题描述】:

我正在编写一个 Android 应用程序,我希望用户在其中跟踪一段时间内的值,将它们存储在 SQLite 数据库中并使用 MPAndroid 折线图绘制图形。

根据https://sqlite.org/datatype3.html,在 SQLite 数据库中存储日期/时间有几种可接受的方式:

  • TEXT 作为 ISO8601 字符串 ("YYYY-MM-DD HH:MM:SS.SSS")。
  • REAL 作为 Julian day numbers,自公元前 4714 年 11 月 24 日格林威治中午以来的天数。根据预测的公历。
  • INTEGER 作为 Unix 时间,自 1970-01-01 00:00:00 UTC 以来的秒数。

此外,在 Java 中存储和访问日期的方法似乎不止一种。格式应与使用日期/时间选择器或当前日期/时间函数兼容。

SQLite 和 Android 中哪种格式/格式组合最适合我的应用程序?

干杯,奥利

【问题讨论】:

  • 如果您的数据是整数,则根据您的数据,然后 Integer 其他明智的 Text 。

标签: android sqlite date datetime types


【解决方案1】:

如果您在裸 sqlite 数据库上使用框架,例如Room persistence library,您可能会获得更好的结果。它可以为您序列化日期。

如果你想使用 sqlite3 类型,ISO8601 作为 TEXT 和时间戳作为 INTEGER 是不错的选择。只是建议您,如果您要在 java 中处理日期,如果您不使用 Java 8,最好使用ThreeTenJodaTime

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 2014-04-26
    相关资源
    最近更新 更多