0

フォルダー内の最後のファイルが 1 日経過しているかどうかを確認するメソッドを作成しています。

 private void checkForPhotoDelete() {
        File directory = new File("/sdcard/LC/images");
        File[] files = directory.listFiles();
        if(files.length>0){
            File lastFile = files[files.length-1];
            Date lastMod = new Date(lastFile.lastModified());

            Calendar calendar = Calendar.getInstance();
            int today = calendar.get(Calendar.DAY_OF_WEEK); 
            Log.v("last modified","Last Modified Date : "+lastMod.getDay() + " vs "+today);
        }
        // TODO Auto-generated method stub

    }

問題は、私のファイルが火曜日に最後に変更され、今日が水曜日であることです。だから私は私のログが言うことを期待します:

「最終更新日: 3 対 4」

代わりに、2対4と言っています

4

1 に答える 1

0

calendarインスタンスに現在の日付を設定してみてください。

private void checkForPhotoDelete() {
        File directory = new File("/sdcard/LC/images");
        File[] files = directory.listFiles();
        if(files.length>0){
            File lastFile = files[files.length-1];
            long lastMod = lastFile.lastModified();

            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(System.currentTimeMillis());
            int today = calendar.get(Calendar.DAY_OF_WEEK); 
            calendar.setTimeInMillis(lastMod);
            int lastModifyDay =  calendar.get(Calendar.DAY_OF_WEEK); 
            Log.v("last modified","Last Modified Date : "+ lastModifyDay + " vs "+today);
        }
        // TODO Auto-generated method stub

    }
于 2012-12-05T14:50:41.307 に答える