Зависящая от времени окраска в C # - PullRequest
0 голосов
/ 11 мая 2018

Мне нужна зависящая от времени окраска в проекте. Если система находится на 10 минут позже времени входа, фон будет оранжевым. Если прошло 20 минут, он будет красным. Я нашел разницу между двумя датами, используя

DateTime.Parse(timeNow).Subtract(DateTime.Parse(timeLogged));

но я не могу сравнить результат.

if(Convert.ToInt32(DateTime.Parse(timeNow).Subtract(DateTime.Parse(timeLogged)))>10)

Есть ли у него аналогичное применение? Можете ли вы помочь мне, как это сделать?

Я использую Google Translate, потому что мой английский не очень хороший, и я прошу прощения за ошибки в языке.

Ответы [ 3 ]

0 голосов
/ 11 мая 2018

DateTime.Subtract возвращает объект Timespan, который имеет свойство TotalMinutes, так что вы можете сделать это:

if (DateTime.Parse(timeNow).Subtract(DateTime.Parse(timeLogged)).TotalMinutes > 10)
0 голосов
/ 11 мая 2018

Вы могли бы сделать это также

// If older than 20 min
if(DateTime.Parse(timeLogged) < DateTime.Now.AddMinutes(-20))
{
    // Do stuff
}
0 голосов
/ 11 мая 2018

Вы можете вычесть DateTime объектов.Вы получите TimeSpan.Вы можете использовать это TimeSpan, чтобы определить разницу между исходными объектами:

DateTime now = DateTime.Parse(timeNow);
DateTime logged = DateTime.Parse(timeLogged);
TimeSpan diff = now - logged;
if (diff.TotalMinutes > 10)
    // It's been more than 10 minutes.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...