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.favtuts.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/tvt/workspace/favtuts/sample.csv";
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()); // 2022-05-08T16:56:58.214937Z
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: 2022-05-08T16:56:58.214937Z
lastModifiedTime: 05/08/2022 23:56:58
Download Source Code
$ git clone https://github.com/favtuts/java-core-tutorials-examples
$ cd java-io