获取文件的最后修改 date/time 作为本地 date/time 字符串

Obtain last modification date/time of file as local date/time string

new File(url).lastModified() returns a long 等于自纪元以来的毫秒数,基于 GMT。

将其转换为表示系统本地 date/time 的 String 的简单方法是什么?

如果你真的需要在这里看到我的尝试,但它是一团糟而且无论如何都是错误的:

LocalDateTime.ofEpochSecond(new File(url).lastModified()/1000,0,ZoneOffset.UTC).atZone(ZoneId.of("UTC")).format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG))

LocalDateTime 之后我只是不知道时间 API 是如何工作的。

要获取文件的最后修改时间,您应该使用Java NIO.2 API,它直接解决了您的问题:

FileTime fileTime = Files.getLastModifiedTime(Paths.get(url));
System.out.println(fileTime); // will print date time in "YYYY-MM-DDThh:mm:ss[.s+]Z" format

如果要访问其他属性(如上次访问时间、创建时间),可以使用Files.readAttributes(path, BasicFileAttributes.class)读取路径的基本属性。