Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么File.GetLastWriteTimeUtc和FileInfo.LastWriteTime为GMT返回不同的值?_C#_File_Datetime_Fileinfo - Fatal编程技术网

C# 为什么File.GetLastWriteTimeUtc和FileInfo.LastWriteTime为GMT返回不同的值?

C# 为什么File.GetLastWriteTimeUtc和FileInfo.LastWriteTime为GMT返回不同的值?,c#,file,datetime,fileinfo,C#,File,Datetime,Fileinfo,所以我有一个文件 var myFile = C:\docs\MyFile.pptx 当我注意到 FileInfo fi = new FileInfo(myfile); var lastModified = fi.LastWriteTime; 及 正在返回不同的值。为什么会这样?FileInfo值对应于Windows资源管理器“修改日期”列中显示的值。为什么它们不同?我希望它们会返回完全相同的值。我实际上已经检查了Reflector中的代码,它们都执行完全相同的操作,即: return Dat

所以我有一个文件

var myFile = C:\docs\MyFile.pptx
当我注意到

FileInfo fi = new FileInfo(myfile);
var lastModified = fi.LastWriteTime;


正在返回不同的值。为什么会这样?
FileInfo
值对应于Windows资源管理器“修改日期”列中显示的值。为什么它们不同?我希望它们会返回完全相同的值。

我实际上已经检查了Reflector中的代码,它们都执行完全相同的操作,即:

return DateTime.FromFileTimeUtc((long) data.ftLastWriteTimeHigh << 32 | (long) data.ftLastWriteTimeLow);

return DateTime.FromFileTimeUtc((长)data.ftLastWriteTimeHigh您的本地时区是什么?
FileInfo.LastWriteTime
可能返回本地化值。您的问题标题有所不同,但您的代码是different@ehsansajjad对不起,是这样的,我的错。现在更正了它们之间的区别是什么?这些信息可能会帮助其他人提供有用的答案。doe在哪里什么是GMT?你看到了什么值?你的问题目前还不清楚(特别是第一行代码,它不会编译…),这正是我所做的。
return DateTime.FromFileTimeUtc((long) data.ftLastWriteTimeHigh << 32 | (long) data.ftLastWriteTimeLow);
return DateTime.FromFileTimeUtc((long) this._data.ftLastWriteTimeHigh << 32 | (long) this._data.ftLastWriteTimeLow);