我有一个错误。为什么我不知道我想要这个文件的最后修改日期。但是我有问题
在我的代码中:日期总是 01011601 为什么?你有什么建议吗?
如果您从 ( pthh
) 获取文件的路径不是您的应用程序正在运行的目录,我希望这个日期。
当您打电话时File.GetLastWriteTime(sqzfiles[i])
,您现在只依赖文件名,因此使用的是相对路径。最有可能的是,该文件不在您的应用程序目录中(尽管它在中pthh
)。
由于相对路径下的文件不存在,文档将解释您的意外日期:
如果 path 参数中描述的文件不存在,则此方法返回 1601 年 1 月 1 日午夜 12:00 (CE) 协调世界时 (UTC),调整为本地时间。
如果文件被另一个应用程序锁定,我也看到会发生这种情况,这是值得的。
来自 msdn
如果 path 参数中描述的文件不存在,则此方法返回 1601 年 1 月 1 日午夜 12:00 (CE) 协调世界时 (UTC),调整为本地时间。
https://msdn.microsoft.com/en-US/library/system.io.file.getlastwritetime(v=vs.110).aspx
我猜你的文件没有找到。尝试指定文件的完整路径
当您尝试访问写入时间时,该文件是否确实存在?
该文档有以下注释:
如果 path 参数中描述的文件不存在,则此方法返回 1601 年 1 月 1 日午夜 12:00 (CE) 协调世界时 (UTC),调整为本地时间。
在这种情况下,您的路径可能无效。请参阅 MSDN 文档:
您可以通过创建一个小型测试应用程序(即沙箱)来确定问题的根源,以验证您的代码是否按预期工作。为了尽量减少潜在的错误,使测试尽可能简单(例如使用硬编码文件路径)。
GetLastWriteTime(...)
方法并不总是按预期工作。在某些情况下,即使文件已被修改/更改,该方法也不会返回更新的时间戳。此场景与以下内容有关: