long lastmodify = f.lastModified();
System.out.println("File Lost Modify:"+lastmodify);
我正在运行文件(“f”)的上述代码,但它显示最后修改时间是:1267082998588 我很困惑,这是不是时间。?实际上它是什么?
long lastmodify = f.lastModified();
System.out.println("File Lost Modify:"+lastmodify);
我正在运行文件(“f”)的上述代码,但它显示最后修改时间是:1267082998588 我很困惑,这是不是时间。?实际上它是什么?
查看文件文档。它返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
你可以这样做
long lastmodify = f.lastModified();
Date modified = new Date(lastmodify);
System.out.println("File Lost Modify:"+ modified);
它说它以毫秒为单位给出答案,但显然它没有给出答案,它以秒为单位乘以一千给出:
bsh % File x = new File("/vmlinuz");
bsh % print(x.lastModified());
1318019877000
在 Linux 中,即使使用 ext4(具有微秒分辨率),所有文件都以 000 结尾!显然,在 Windows 中,您最终会收到噪音,但不应将其误认为毫秒,他们说,这是“近似值”
它是自 Unix 纪元以来的毫秒数。
尝试:
import java.text.*;
import java.util.*;
System.out.println(new SimpleDateFormat().format(new Date(f.lastModified())));
你可以对日期做任何你想做的事情。请参阅Date、SimpleDateFormat和GregorianCalendar。
看一下 File 类中方法的 Javadoc(很清楚):
公开的 long lastModified()
返回此抽象路径名表示的文件最后一次修改的时间。
返回:
表示文件最后修改时间的长值,以自纪元(格林威治标准时间 00:00:00,1970 年 1 月 1 日)以来的毫秒数为单位,如果文件不存在或发生 I/O 错误,则返回 0L
long lastmodify = f.lastModified();
Date dt=new Date();
SimpleDateFormat date = new SimpleDateFormat("dd/MM/yyyy");
String modify=date.format(lastmodify);
这也是我得到的答案之一。。
那是文件被编辑的日期[以毫秒表示]。它是自 1970 年 1 月 1 日 [也称为 Unix 纪元] 以来经过的毫秒数