1

我正在Android上做一些时间的东西。我从 TimePicker 获取时间,我想将它存储在数据库中。我想以 12 小时格式存储时间。

我还需要对那个时间做一些计算。如果我将它存储为String,它将涉及大量编码来对该字符串进行计算。

有更好的解决方案吗?

任何帮助,将不胜感激。提前致谢。

4

3 回答 3

1

在我的 androidapp 中,我将日期时间存储在 java 和数据库中。(Unix 时间,自 1970-01-01 以来的秒数。如@hawaii.five-0 所述)

这些数字可以很容易地比较较早/较晚的日期,但在查看原始数据库时很难让人阅读。

为了显示日期,这些长数字被转换回 java Date with new Date(longValue)

于 2012-06-19T11:23:13.167 回答
0

不幸的是 sqlite 不支持日期格式...看看sqlite 亲和力。

所以你必须以文本或数字格式存储它。并在从数据库中检索它后应用你的计算。

于 2012-06-19T10:55:28.320 回答
0

最佳实践是将时间存储为 Unix 时间戳:

  • 简单计算(您可以以秒为单位添加和减去时间,因此添加一个小时您添加 60*60 = 3600 秒)
  • 轻松格式化:Java Date 和 DateFormat 类可以轻松处理 Unix 时间戳。

12 小时格式示例:

public String getDateFormatted(Date datum) {
        DateFormat dfm = new SimpleDateFormat("MM/dd/yyyy K:m a"); //example: 05/23/2012 11:34 PM
        return dfm.format(datum);
    }
于 2012-06-19T12:47:36.003 回答