C# C语言中的时间转换混淆#

C# C语言中的时间转换混淆#,c#,timezone,utc,C#,Timezone,Utc,我正在访问C#中驱动程序(.sys文件)的file.LastWriteTime。 代码如下: DateTime fileDate = FileInfo(path).LastWriteTime; String locaZone = TimeZoneInfo.Local.DisplayName; DateTime BinaryDate = TimeZoneInfo.ConverTimetoUtc(fileDate, TimeZoneInfo.Local); 我检查了System32中的驱动程序文件

我正在访问C#中驱动程序(.sys文件)的file.LastWriteTime。 代码如下:

DateTime fileDate = FileInfo(path).LastWriteTime;
String locaZone = TimeZoneInfo.Local.DisplayName;
DateTime BinaryDate = TimeZoneInfo.ConverTimetoUtc(fileDate, TimeZoneInfo.Local);
我检查了System32中的驱动程序文件夹-文件时间为2012年9月27日12:40:42 AM 当地时区是太平洋

因此,fileDate=9/27/2012 12:40:42 AM

但是,BinaryDate(转换为UTC后)=2012年9月27日上午7:40:42

有谁能告诉我这里出了什么问题-似乎转换没有正确进行


理想情况下,我们应该将BinaryDate值设置为>9/27/2012 12:40:42 AM(包括夏令时)

您能否不调用
文件信息(路径)。LastWriteTimeUtc

否,UTC不随夏令时变化。太平洋是GMT-7:00。因此,如果您将本地时间转换为UTC,则应该是7小时后。或者你期待什么?