文件的最后修改时间是13位数。这是什么意思?

时间:2010-02-25 07:40:43

标签: java file last-modified

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

我正在运行上面的文件代码(“f”),但它显示的最后修改时间是:1267082998588 我很困惑,这是时候与否。实际上它是什么?

6 个答案:

答案 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())));

您可以使用日期执行任何操作。请特别查看DateSimpleDateFormatGregorianCalendar

答案 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纪元]