gpt4 book ai didi

java - 在 TimeUnit.Days 中获取 getLastModifiedTime(path)

转载 作者:行者123 更新时间:2023-12-02 01:21:02 25 4
gpt4 key购买 nike

我试图获取给定文件最后一次修改后的天数。

当检查刚刚修改的文件时,以下代码给我18135

代码

public class IOExamples {
public static void main(String[] args) throws IOException {
Path path = Paths.get("zoo.log"); // zoo.log was just been modified
System.out.println(Files.getLastModifiedTime(path).to(TimeUnit.DAYS));
}
}

输出只是一个数字 -

输出

18135

请帮我算一下天数。

最佳答案

要获得现在之间的差异,您可以使用:

Duration.between(Files.getLastModifiedTime(path).toInstant(), Instant.now())
.toDays()
;

请注意,如果 Instant.now() 返回的值小于 Files.getLastModifiedTime(path).toInstant()(这是可能的),则此操作可能会失败。

查看相关Duration::between javadoc

根据 @RealSkeptic 评论,您还可以使用 ChronoUnit 中的 DAYS 枚举常量:

long days = ChronoUnit.DAYS.between(Files.getLastModifiedTime(path).toInstant(), 
Instant.now())
;

请注意,如果 Files.getLastModifiedTime(path).toInstant() 大于 Instant.now() 则失败的警告不适用:它只会返回负数。

关于java - 在 TimeUnit.Days 中获取 getLastModifiedTime(path),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57679018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com