Java NIO 对象到日期的转换
Java NIO object to date conversion
我试图在 java 中获取文件的最后访问权限和创建日期,因此我使用的是 nio,但输出格式如下:
Last access time :: 2015-02-26T15:22:02.988862Z
Creation time :: 2015-02-26T15:22:02.988862Z
last modified time :: 2015-02-26T16:06:52.022666Z
是否可以将它们转换为 Date 或 Calender 对象,以便我可以获得正确的格式作为输出?
这是我的代码,
package com.home.test;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;
public class TestRun {
public static void main(String[] args) {
TestRun tr = new TestRun();
tr.run();
}
private void run() {
File file = new File("D:/Test_Folder/File1.txt");
Path filPath = file.toPath();
BasicFileAttributes attrib = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
attrib = Files.readAttributes(filPath, BasicFileAttributes.class);
System.out.println("Last access time :: "+attrib.lastAccessTime());
System.out.println("Creation time :: "+attrib.creationTime());
System.out.println("last modified time :: "+attrib.lastModifiedTime());
} catch (Exception e) {
System.out.println("Error thrown"+e.toString());
}
}
}
那些方法 return FileTime
values. FileTime
has a toMillis
方法 return 其值以毫秒为单位 long
。您可以从中创建一个 Date
对象。
嗯,不,时间戳以 FileTime
对象的形式出现。通过将这些对象添加到 String
s,您将获得这些对象的 String
表示。
这些对象将相同的基础时间表示(自纪元以来的毫秒数)包装为 Date
或 Calendar
对象,所以如果您愿意,是的,您可以获得其中之一。例如:
Calendar atime = Calendar.newInstance();
atime.setTimeInMillis(attrib.lastAccessTime().toMillis());
如果您更喜欢 Date
的形式,那么您可以继续
Date atimeAsDate = atime.getTime();
我试图在 java 中获取文件的最后访问权限和创建日期,因此我使用的是 nio,但输出格式如下:
Last access time :: 2015-02-26T15:22:02.988862Z
Creation time :: 2015-02-26T15:22:02.988862Z
last modified time :: 2015-02-26T16:06:52.022666Z
是否可以将它们转换为 Date 或 Calender 对象,以便我可以获得正确的格式作为输出?
这是我的代码,
package com.home.test;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;
public class TestRun {
public static void main(String[] args) {
TestRun tr = new TestRun();
tr.run();
}
private void run() {
File file = new File("D:/Test_Folder/File1.txt");
Path filPath = file.toPath();
BasicFileAttributes attrib = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
attrib = Files.readAttributes(filPath, BasicFileAttributes.class);
System.out.println("Last access time :: "+attrib.lastAccessTime());
System.out.println("Creation time :: "+attrib.creationTime());
System.out.println("last modified time :: "+attrib.lastModifiedTime());
} catch (Exception e) {
System.out.println("Error thrown"+e.toString());
}
}
}
那些方法 return FileTime
values. FileTime
has a toMillis
方法 return 其值以毫秒为单位 long
。您可以从中创建一个 Date
对象。
嗯,不,时间戳以 FileTime
对象的形式出现。通过将这些对象添加到 String
s,您将获得这些对象的 String
表示。
这些对象将相同的基础时间表示(自纪元以来的毫秒数)包装为 Date
或 Calendar
对象,所以如果您愿意,是的,您可以获得其中之一。例如:
Calendar atime = Calendar.newInstance();
atime.setTimeInMillis(attrib.lastAccessTime().toMillis());
如果您更喜欢 Date
的形式,那么您可以继续
Date atimeAsDate = atime.getTime();