How to format FileTime in Java
In Java, we can use DateTimeFormatter
to convert the FileTime
to other custom date formats.
public static String formatDateTime(FileTime fileTime) {
LocalDateTime localDateTime = fileTime
.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
return localDateTime.format(
DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss"));
}
1. File Last Modified Time
This example displays the last modified time of a file in a custom date format.
GetLastModifiedTime.java
package com.mkyong.io.howto;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
public class GetLastModifiedTime {
private static final DateTimeFormatter DATE_FORMATTER =
DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss");
public static void main(String[] args) {
String fileName = "/home/mkyong/test";
try {
Path file = Paths.get(fileName);
BasicFileAttributes attr =
Files.readAttributes(file, BasicFileAttributes.class);
// default YYYY-MM-DDThh:mm:ss[.s+]Z
System.out.println("lastModifiedTime: " + attr.lastModifiedTime());
FileTime fileTime = attr.lastModifiedTime();
System.out.println("lastModifiedTime: " + formatDateTime(fileTime));
} catch (IOException e) {
e.printStackTrace();
}
}
public static String formatDateTime(FileTime fileTime) {
LocalDateTime localDateTime = fileTime
.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
return localDateTime.format(DATE_FORMATTER);
}
}
Output
lastModifiedTime: 2020-07-20T09:29:54.627222Z
lastModifiedTime: 07/20/2020 17:29:54
Download Source Code
$ git clone https://github.com/mkyong/core-java
$ cd java-io
References
About Author
Comments
Subscribe
0 Comments