比较偏好的长日期格式
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)
会评估为真,但它应该为假。
我可以获取文件的上次修改日期和时间,我想将它与我的上次修改日期和时间进行比较,但不幸的是它总是正确的。我弄错了吗?
/* 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)
会评估为真,但它应该为假。