我正在Android上做一些时间的东西。我从 TimePicker 获取时间,我想将它存储在数据库中。我想以 12 小时格式存储时间。
我还需要对那个时间做一些计算。如果我将它存储为String
,它将涉及大量编码来对该字符串进行计算。
有更好的解决方案吗?
任何帮助,将不胜感激。提前致谢。
在我的 androidapp 中,我将日期时间存储在 java 和数据库中。(Unix 时间,自 1970-01-01 以来的秒数。如@hawaii.five-0 所述)
这些数字可以很容易地比较较早/较晚的日期,但在查看原始数据库时很难让人阅读。
为了显示日期,这些长数字被转换回 java Date with new Date(longValue)
。
不幸的是 sqlite 不支持日期格式...看看sqlite 亲和力。
所以你必须以文本或数字格式存储它。并在从数据库中检索它后应用你的计算。
最佳实践是将时间存储为 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);
}