Как привести к System.Timespan? - PullRequest
0 голосов
/ 06 июня 2011

может кто-нибудь сказать мне, как разыграть System.Timespan?в System.Timespan Я получаю эту ошибку, когда пытаюсь получить разницу между текущей датой и датой в запросе linq (см. belwo)

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

Ответы [ 3 ]

6 голосов
/ 06 июня 2011
System.TimeSpan ts = (i.joinDt - DateTime.Now.Date).Value;
6 голосов
/ 06 июня 2011

Чтобы получить TimeSpan от TimeSpan?, вам необходимо получить доступ к свойству Value для значения Nullable - нет необходимости разыгрывать.

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;
}
3 голосов
/ 06 июня 2011

Может кто-нибудь сказать мне, как разыграть System.Timespan? в System.Timespan

Необходимо указать значение по умолчанию для случая, когда TimeSpan? равно нулю:

TimeSpan? nullableTs = ...
TimeSpan ts = nullableTs ?? TimeSpan.Zero;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...