gpt4 book ai didi

Java 8 BasicFileAttributes.creationTime() 返回不同的小时值

转载 作者:行者123 更新时间:2023-11-30 06:06:15 25 4
gpt4 key购买 nike

我有这个使用 Java 8 获取特定文件的创建日期时间的代码片段:

    Path path = Paths.get("D:\\SampleFile.txt");
BasicFileAttributes attributes = null;
try {
attributes = Files.readAttributes(path, BasicFileAttributes.class);
System.out.println("Creation Date Time: " + attributes.creationTime());
} catch(IOException ioe) {
ioe.printStackTrace();
}

我用作示例的文件的实际创建时间与上述代码片段显示的时间相差 6 小时:
实际日期时间:2017-02-05T10:34:28
本次代码时间:2017-02-05T16:34:28.247156Z

有谁知道这种差异的原因是什么以及如何获得正确的创建日期时间值?

提前致谢!

最佳答案

FileTime 类假定 UTC 作为打印的默认时区。如果你想在你的系统时区打印它,你可以把它转换成一个 ZonedDateTime 像这样:

attributes.creationTime().toInstant().atZone(ZoneId.systemDefault())

关于Java 8 BasicFileAttributes.creationTime() 返回不同的小时值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44642627/

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