java - 如何使用字符串中的本地日期检查 X 天是否已经过去

标签 java android sqlite datetime jodatime

我想存储上次在 SQLite 数据库中插入值的时间。
所以我正在使用 LocalDate.now().toString(),这是我作为行的一部分存储的内容,即作为 TEXT 列。
现在,当我检索行时,我希望能够检查上次更新是否超过 X 天前(不确定 X 是 1 还是 7)。
我该怎么做?
我在谷歌上看到的大多数答案都涉及语言环境,但我认为它与我的情况无关。
所以我被困在这里:

// obj comes from db
LocalDate lastCheck = new LocalDate(obj.getLastUpdate());
//How can I do the check correctly?
if(Days.daysBetween(LocalDate.now(), lastCheck) > X days) {

}

更新:
如果它有帮助,我不需要准确。基本上它就像更新缓存,所以如果有 1 个极端情况我会明确检查,我可以接受

最佳答案

如果你确定拖车日期在同一年你可以使用

   LocalDate.now().getDayOfYear ()-lastCheck.getDayOfYear ()

试试这个

    LocalDate last=LocalDate.of ( 2015, Month.DECEMBER, 31);
    LocalDate now= LocalDate.of ( 2016, Month.JANUARY, 1);
    java.time.Period period=java.time.Period.between ( last, now);
    System.out.println ( period.getDays () );

关于java - 如何使用字符串中的本地日期检查 X 天是否已经过去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31638147/

相关文章:

java - hibernate 异常。查询语法异常 : unexpected token: HAVING

Android Firebase 后台通知未触发

java - 在 Java 中将图像对象拆分为二维数组

java - MiniMax 实现

java - 什么是 org.eclipse.wst.common.component 以及如何将它用于 ant

java - Android MapBox 更改 MyLocation 标记的样式

android - 在应用程序标签中设置应用程序名称不起作用

sql - sqlite中的select查询不返回任何内容

sqlite - Sqlite3如何设置字符串比较时不区分大小写?

swift sqlite count+where 总是返回 0