比较偏好的长日期格式

Compare long date format from preference

我可以获取文件的上次修改日期和时间,我想将它与我的上次修改日期和时间进行比较,但不幸的是它总是正确的。我弄错了吗?

 /* 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....

    } 

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

您的支票应该是 -

if (lastUpdateTime < currMillis)

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