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