1
    long lastmodify   =   f.lastModified();
    System.out.println("File Lost Modify:"+lastmodify);

上記のファイル ("f") のコードを実行していますが、最終変更時刻が 1267082998588 と表示されます。実際、それは何ですか?

4

6 に答える 6

5

ファイルのドキュメントを見てください。1970 年 1 月 1 日 00:00:00 GMT からのミリ秒を返します。

代わりにこれを行うことができます

long lastmodify = f.lastModified();
Date modified = new Date(lastmodify);
System.out.println("File Lost Modify:"+ modified);
于 2010-02-25T07:47:40.630 に答える
5

それミリ秒で答えを与えると言いますが、どうやらそうではなく、1000を掛けた秒で答えを与えます:

bsh % File x = new File("/vmlinuz");     
bsh % print(x.lastModified());      
1318019877000

Linux では、ext4 (マイクロ秒の分解能を持つ) でも、すべてのファイルが 000 で終わります! どうやらWindowsでは最後にノイズが発生しますが、ミリ秒と間違えてはいけません。それは「近似値」だと彼らは言います

于 2011-11-01T14:47:41.000 に答える
3

Unix エポックからのミリ秒数です。

試す:

import java.text.*;
import java.util.*;
System.out.println(new SimpleDateFormat().format(new Date(f.lastModified())));

日付でやりたいことは何でもできます。特にDateSimpleDateFormat、およびGregorianCalendarを参照してください。

于 2010-02-25T07:43:17.517 に答える
1
    long lastmodify   =   f.lastModified();
    Date dt=new Date();
    SimpleDateFormat date   = new SimpleDateFormat("dd/MM/yyyy");
    String modify=date.format(lastmodify);

これも私が得た答えの1つです..

于 2010-02-26T12:07:25.313 に答える
1

File クラスのメソッドの Javadoc を見てください (十分に明確です)。

public long lastModified()

この抽象パス名が示すファイルが最後に変更された時刻を返します。

戻り値:エポック (00:00:00 GMT、1970 年 1 月 1 日) からのミリ秒単位で測定され
た、ファイルが最後に変更された時刻を表す long 値、またはファイルが存在しない場合、または I/O エラーが発生した場合は 0L

于 2010-02-25T07:49:13.000 に答える
0

これは、ファイルが編集された日付 [ミリ秒で表される] です。1970 年 1 月 1 日 [Unix エポックとも呼ばれる] から経過したミリ秒数です。

于 2010-02-25T07:44:17.843 に答える