比较长期日期格式与偏好

时间:2016-03-07 10:56:56

标签: android preferences

我可以获取文件的上次修改日期和时间,我想将它与我最后修改的日期和时间进行比较,但不幸的是它始终是真的..我犯了错误吗?

 /* Get Last Update Time from Preferences */
    SharedPreferences prefs1 = getPreferences(0);
    long lastUpdateTime = prefs1.getLong("lastUpdateTime", 0);

    File file = new File(filePath);
    Date lastModDate = new Date(file.lastModified());
    long curMillis = lastModDate.getTime();

    /* Should Activity Check for Updates Now? */
    if ((lastUpdateTime) <= curMillis) {

        /* Save current timestamp for next Check */
        SharedPreferences.Editor editor = getPreferences(0).edit();
        editor.putLong("lastUpdateTime", curMillis);
        editor.commit();

        do somthing....

    } 

1 个答案:

答案 0 :(得分:0)

您的lastUpdateTime始终等于currMillis,因为在您更新后,您始终将其设置为currMillis

您的支票应该是 -

if (lastUpdateTime < currMillis)

只有在执行完最后一次检查后文件已更新时才会执行此操作,否则即使文件未更新,currMillis也等于lastUpdateTime所以(lastUpdateTime <= currMillis)会评价为真,但它应该是假的。