您好,我根据用户的时区(例如:开始:08:00 - 结束:14:00)在军事时间将两次存储在数据库中。我还将用户的时区以以下格式存储在数据库中“中部时间(美国和加拿大)(格林威治标准时间 -06:00)”
因此,在上面的示例中,用户的安静时间是中部时间上午 8:00 到下午 2:00。如果用户输入 12:00 - 10:00,我只需在较小的数字上添加一天,即 2013 年 1 月 1 日下午 12:00 - 2013 年 1 月 2 日上午 10:00。我正在使用以下方法查看服务器时间是否在该范围内。我的问题是,我怎样才能通过时区并确保我看到它是否在用户设定的时区范围内?
private static bool IsInQuietTime(string startDate, string endDate)
{
if (string.IsNullOrWhiteSpace(startDate) || string.IsNullOrWhiteSpace(endDate)) return false;
var now = DateTime.Now;
var sDate = DateTime.Parse(now.ToString("M/d/yyyy " + startDate));
var eDate = DateTime.Parse(now.ToString("M/d/yyyy " + endDate));
if (eDate <= sDate)
eDate = eDate.AddDays(1);
return now.Ticks >= sDate.Ticks && now.Ticks <= eDate.Ticks;
}
谢谢!