C# C语言中的时间转换混淆#
我正在访问C#中驱动程序(.sys文件)的file.LastWriteTime。 代码如下: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中的驱动程序文件
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小时后。或者你期待什么?