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