Все,Как проверить, что 8:00 вечера действителен до 12:00?
Я недавно posted a question об ограничении пользователей заходил на 4 часа и получал отличные отзывы/ответы.
Но я столкнулся с сценарием, который меня озадачил.
Заказчик с 8:00 до 12:00 AM следующего дня для входа - всего 4 часа. Тем не менее, мой код видит 8:00 вечера по прошествии времени, а не 8:00 вечера время до 12:00.
Как я могу заставить систему увидеть 8:00 вечера, когда еще не было до 12:00 AM следующего дня?
Вот мой код, используя 12-часовые часы с AM и PM - не UTC или 24-часовой:
var orderTime = Convert.ToDateTime(orderDate); // 8:00 PM
var expirationTime = orderTime.AddHours(4); // 12:00 AM of the next day
// timeRemaining should be 4 hours but is 0
// DateTime.Now is 8:00 PM of the current day
// so timeRemaining = 8:00 PM - 12:00 AM (should be 4 hours)
var timeRemaining = expirationTime - DateTime.Now;
// should be greater than 0 since timeRemaining is actually 4 hours (8:00 PM up to 12:00 AM of next day)
// but fails seeing it as passed
if (timeRemaining < TimeSpan.Zero)
Response.Redirect("TimedOut.aspx");
Как я могу получить этот сценарий, чтобы быть действительным? То есть, система увидит 8:00 вечера как время, которое еще не прошло до 12:00 AM следующего дня?
благодарит за любую помощь!
Я думаю, что единственный способ, чтобы обойти эту проблему можно также включать дату, когда оба штамповки сессии и при проверке, если/когда она должна закончиться , –
@Cole Johnson - Я слепой компьютерный программист и с трудом использую некоторые функции на сайте здесь, одним из которых является код форматирования. Поскольку вы указали, что мне нужно научиться форматировать, как вы предлагаете мне некоторые инструкции о том, как форматировать код с помощью клавиатуры, а не мыши? – Frekster
@Soner Gönül - большое спасибо за форматирование моего кода. Я видел, как ты это делаешь и по моему последнему вопросу ... очень ценишь. – Frekster