gpt4 book ai didi

java - 文件 lastModified() 返回 Wed Dec 31 19 :00:00 EST 1969

转载 作者:行者123 更新时间:2023-11-29 07:02:49 25 4
gpt4 key购买 nike

我正在对这样的文件进行一些测试:

    public Date findFileDate(){
File file = new File(filePath);
Date date = new Date(file.lastModified());
return date;
}

当我打印 date 时,它说:Wed Dec 31 19:00:00 EST 1969。经过一些研究,我发现根据我的时区,这是我的“自 Unix 纪元以来的时间”,但我很困惑为什么当我的 filePath 中不存在文件时我会得到这个输出。为什么它不返回 null0

最佳答案

不,file.lastModified() 返回 0。那是 Unix 纪元

在您所在的特定时区(从外观上看是美国东部),Unix 纪元的本地时间比 UTC 晚 5 小时,因此是 1969 年 12 月 31 日晚上 7 点。

为了确认这一点,只需将您的 Date 声明和赋值分成两部分:

long lastModifiedMillis = file.lastModified();
Date date = new Date(lastModifiedMillis);

现在,如果您检查 lastModifiedMillis,我相信您会发现值 0,如 documented :

Returns
A long value representing the time the file was last modified, measured in milliseconds since the epoch (00:00:00 GMT, January 1, 1970), or 0L if the file does not exist or if an I/O error occurs

关于java - 文件 lastModified() 返回 Wed Dec 31 19 :00:00 EST 1969,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23433276/

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