C# 如何转换到System.Timespan?
有人能告诉我如何施展System.Timespan吗?到系统。时间跨度 当我试图从linq查询中获取当前日期和某个日期之间的日期差时,我一直遇到这个错误(请参见belwo)C# 如何转换到System.Timespan?,c#,visual-studio-2010,C#,Visual Studio 2010,有人能告诉我如何施展System.Timespan吗?到系统。时间跨度 当我试图从linq查询中获取当前日期和某个日期之间的日期差时,我一直遇到这个错误(请参见belwo) 要从TimeSpan?中获取TimeSpan,您需要访问nullable的属性-无需强制转换 TimeSpan? tsn = i.joinDt - DateTime.Now.Date; TimeSpan ts; if(tsn.HasValue) { ts = tsn.Value; } 或: 有人能告诉我如何施展Syst
要从
TimeSpan?
中获取TimeSpan
,您需要访问nullable的属性-无需强制转换
TimeSpan? tsn = i.joinDt - DateTime.Now.Date;
TimeSpan ts;
if(tsn.HasValue)
{
ts = tsn.Value;
}
或:
有人能告诉我如何施展System.Timespan吗?到系统。时间跨度
如果TimeSpan?
为空,则需要指定默认值:
TimeSpan? nullableTs = ...
TimeSpan ts = nullableTs ?? TimeSpan.Zero;
我建议
System.TimeSpan ts=I.joinDt.Value-DateTime.Now.Date
以避免将DateTime.Now.Date
转换为可为空的值,仅用于再次转换结果。
if(i.joinDt.HasValue)
{
TimeSpan ts = i.joinDt.Value - DateTime.Now.Date;
}
System.TimeSpan ts = (i.joinDt - DateTime.Now.Date).Value;
TimeSpan? nullableTs = ...
TimeSpan ts = nullableTs ?? TimeSpan.Zero;