【发布时间】:2016-03-28 03:02:36
【问题描述】:
我找到了许多关于如何比较 2 个日期的参考资料,但它们似乎都是比较 DateTime 而不是 Dates 本身。
我将 LastUpdate 保存到 SQLite 中,这要求它是 DateTime。 稍后,我将该值作为字符串检索,然后将其转换回 Android 日期(实际上是日期时间)。
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date LastDate = formatter.parse(LastUpdate);
然后我将它与今天(也是一个日期时间)进行比较
Date today = Calendar.getInstance().getTime();
我正在尝试使用
today.compareTo(LastDate)
但似乎精确度下降到时间部分。
这意味着即使日期相同,但一次不同,结果也是 + 或 - 基于时间部分。
我只想使用完整日期的精度,而忽略时间部分。
我怎样才能达到这种精确度?
谢谢
【问题讨论】:
-
一个选项可能是将每个日期转换为该日期的开始,然后比较它们,所以即使它们都为 00:00 时,比较也会像你一样工作想要。
-
感谢您的回复。您的回答和下面的 Markus 都说了同样的话,并且,虽然它是一种解决不良数据库架构(字段类型限制)的变通方法,但它对我有用。谢谢