【问题标题】:How do I calculate days since a record entry? Android, SQLite, Java如何计算自记录条目以来的天数?安卓、SQLite、Java
【发布时间】:2010-08-04 14:57:14
【问题描述】:

我有一个包含存储日期字段的数据库。我希望能够计算记录日期和今天之间的天数。

我最终使用了:

mDb.execSQL("UPDATE"+DATABASE_PLANTS_TABLE+"SET"+KEY_PLANT_DAYS+ " = (SELECT julianday('now') - julianday("+KEY_DATE+") FROM"+ DATABASE_PLANTS_TABLE+")");

【问题讨论】:

    标签: java android sqlite


    【解决方案1】:
    select (strftime('%s','now')-strftime('%s', data1))/86400.0 as days from table
    

    【讨论】:

    • 我最终使用了与此非常相似的东西。比使用 jodatime 更容易,因为我需要的只是这个日期计算。我实际使用的贴在上面。
    【解决方案2】:

    为此使用Joda Time Days 类:

    Date dateInDb = getStoredDate();
    Date today = new Date();
    Days days = Days.daysBetween(new DateTime(dateInDb), new DateTime(today));
    int numberOfDays = days.getDays();
    

    【讨论】:

    • 我已经下载了 Joda Time,但不知道如何使用它。我试图将该类直接添加到我的项目中,但在尝试打开它时出现找不到源错误。
    • 目前正在处理 p.getDays() 中的“p”;未解决
    • 感谢您到目前为止的帮助。现在我正在逼近,这似乎是一个 android 问题。调试中没有错误,并且在调用 DateTime 时发生。一个简单的:DateTime start = new DateTime(dateInDb);导致强制关闭
    猜你喜欢
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    相关资源
    最近更新 更多