2012-01-01 2 views
0

Я программирую небольшую страницу, и я хочу показать время истечения срока действия аутентификационного билета. Я имею в виду не конец, а оставшееся время. Текущий код следующим образом:Время останова оставшегося билета

DateTime cas = (DateTime)ticket.Expiration.Date; 
    DateTime cas1 = DateTime.Now; 
    DateTime cas2 = cas1.Subtract(cas); 

Однако VS говорит: «Не удается неявно преобразовать System.TimeSpan в системе DateTime». Помощь Pls. Большое спасибо.

ответ

1

Метод Substract возвращает период времени, а не Datetime. Попробуйте это:

Timespan cas2 = cas.Subtract(cas1); 

[править] следующие замечания, код, который будет работать и просто:

TimeSpan remaining = ticket.Expiration.Substract(DateTime.Now); 

Вы не должны случае истечения срока действия, так как это DateTime property.

+0

это работает, но время растет (и время окончания срока устанавливается на 1 минуту в web.config) – polohy

+0

время не увеличивается, но отрицательный. Отмените выражение: 'cas.Substract (cas1)'. Я обновляю свой ответ таким образом –

+0

проблема в другом месте ... – polohy

0

Вы можете использовать перегрузку оператора. Тип, возвращаемый путем вычитания одного DateTime из другого является TimeSpan:

TimeSpan remainingTime = ticket.Expiration - DateTime.Now; 
Смежные вопросы