如何在Java中比较FileTime和LocalDateTime对象?
我想比较文件(Files.getLastModifiedTime(item))中的FileTime对象和当前时间(LocalDateTime.now()).但它们并不兼容.我该如何比较它们?
Sne*_*neh 15
您可以从 FileTime 获取即时并使用即时创建 LocalDateTime 对象。
例子
FileTime fileTime = Files.getLastModifiedTime(item);
LocalDateTime now = LocalDateTime.now();
LocalDateTime convertedFileTime = LocalDateTime.ofInstant(fileTime.toInstant(), ZoneId.systemDefault());
Run Code Online (Sandbox Code Playgroud)
现在您可以比较 now 和convertedFileTime。
请记住,这并没有考虑可能发生变化的时区。
你也可以一起工作Instant。
该FileTimeAPI旨在鼓励您使用Instant,而不是LocalDateTime:
Instant now = Instant.now();
FileTime ft = Files.getLastModifiedTime(item);
if (ft.toInstant().isAfter(now)) { ... }
Run Code Online (Sandbox Code Playgroud)
请注意,这Instant比LocalDateTime在这种情况下更有意义,因为它代表了"在现实生活中" 的独特瞬间.a LocalDateTime可能不明确,例如在夏令时变化期间.
| 归档时间: |
|
| 查看次数: |
2007 次 |
| 最近记录: |