【发布时间】:2011-07-28 09:44:23
【问题描述】:
如何将File#lastModified() 转换为真实日期?格式并不重要。
【问题讨论】:
-
重开,因为这个问题是关于转换成java.util.Date的问题。
如何将File#lastModified() 转换为真实日期?格式并不重要。
【问题讨论】:
Date d = new Date(file.lastModified());
lastModified() 返回自 1970-01-01 以来的毫秒数,Date 类也以相同的方式存储其时间。 Date(long) 构造函数需要这些毫秒,并用它初始化 Date。
【讨论】:
lastModified() returns the milliseconds since 1970-01-01 使用什么时区?我在将日期发送到浏览器上运行的 javascript 时遇到问题,并且日期比服务器日期大一天。
获取上次修改的时间戳,如the duplicate of your question中所述
创建一个新的Date 对象或Calendar 对象。 new Date(timestamp)。或Calendar.getInstance(),然后致电setTimeInMillis(timestamp)。顾名思义,时间戳实际上是毫秒数(从 1970 年 1 月 1 日开始)
然后您可以通过java.text.SimpleDateFormat格式化日期
【讨论】:
你得到的是一个长数字,表示从 1970 年 1 月 1 日起经过的毫秒数。这是表示日期的标准方式。
试试这个:
java.util.Date myDate = new java.util.Date(theFile.lastModified());
现在你手头有一个 Date 对象。
您可以使用SimpleDateFormat 以更可爱的方式打印该日期。
【讨论】:
您只需使用SimpleDateFormat 类将long 转换为date。
只有你执行代码:
new SimpleDateFormat("dd-MM-yyyy HH-mm-ss").format(
new Date(new File(filename).lastModified())
);
【讨论】: