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