DataRow
我有一个从源( a或 a SqlDataReader
)获取日期属性的方法:
protected SqlDateTime GetSqlDateTimePropertyValue(string propertyName, object source)
{
var objValue = GetPropertyValue(propertyName, source);
var value = objValue == DBNull.Value ? null : (DateTime?)objValue;
var sqlValue = new SqlDateTime();
if (value.HasValue) sqlValue = value.Value;
return sqlValue;
}
但转换似乎稍微改变了日期,所以我的测试总是失败。
有谁知道为什么这种方法会错误地转换?
在方法结束时,看起来转换为进行SqlDateTime
了一些舍入:
value.Value.Ticks: 634698391707468296
sqlValue.Value.Ticks: 634698391707470000