如何强制转换为System.Timespan

本文关键字:System Timespan 转换 何强制 | 更新日期: 2023-09-27 17:58:32

有人能告诉我如何铸造System.Timespan吗?到System.Timespan当我试图从linq查询中获取当前日期和日期之间的日期差时,我一直会遇到这个错误(请参阅belwo)

System.TimeSpan ts = i.joinDt - DateTime.Now.Date;

如何强制转换为System.Timespan

System.TimeSpan ts = (i.joinDt - DateTime.Now.Date).Value;

要从TimeSpan?获取TimeSpan,您需要访问可为null的Value属性-无需强制转换。

TimeSpan? tsn = i.joinDt - DateTime.Now.Date;
TimeSpan ts;
if(tsn.HasValue)
{
  ts = tsn.Value;
}

或者:

if(i.joinDt.HasValue)
{
  TimeSpan ts = i.joinDt.Value - DateTime.Now.Date;
}

有人能告诉我如何铸造System.Timespan吗?到System.Timespan

您需要为TimeSpan?为空的情况指定一个默认值:

TimeSpan? nullableTs = ...
TimeSpan ts = nullableTs ?? TimeSpan.Zero;