当你通过转换DateTime
为字符串时,你会失去很多DateTime.ToString()
.
即使你包括这样的毫秒:
DateTime convertedTime = new DateTime( saveTime.Year, saveTime.Month, saveTime.Day, saveTime.Hour, saveTime.Minute, saveTime.Second, saveTime.Millisecond);
你仍然会得到一个不同于DateTime
原来的不同.
其原因在于内部DateTime
存储了多个刻度(从0001年1月1日午夜12:00起).每个刻度表示一千万分之一秒.您需要获得相同数量的Ticks才能使两个DateTime
对象相等.
所以,为了获得平等DateTime
,你需要这样做:
DateTime convertedTime = new DateTime(saveTime.Ticks);
或者,如果要将其转换为字符串(存储它),可以将刻度存储为如下字符串:
string store = saveTime.Ticks.ToString(); DateTime convertedTime = new DateTime(Convert.ToInt64(store));