全部,
我最近发布了一个关于将用户登录时间限制为 4 小时的问题,并得到了很好的反馈/答案。
但我遇到了一个让我难过的场景。
客户可以从晚上 8:00 到第二天凌晨 12:00 登录 - 总共 4 小时。但是,我的代码看到 8:00 PM 随着时间的流逝,而不是 8:00 PM 是 12:00 AM 之前的时间。
如何让系统将 8:00 PM 视为第二天凌晨 12:00 之前尚未过去的时间?
这是我使用上午和下午的 12 小时制的代码 - 不是 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 之前尚未过去的时间?
谢谢你的帮助!