【发布时间】:2018-07-18 17:43:40
【问题描述】:
在我的申请中,我通过了办公室的营业时间和关闭时间。 像这样的例子
Monday 02:30PM - 05:00PM
Tuesday Closed
Wednesday 09:00AM - 05:00PM
Thursday Closed
Friday Closed
Saturday Closed
Sunday Closed
办公室也可以每周开放一次,时间会有所不同。
Monday 02:30PM - 05:00PM
Tuesday Closed
Wednesday Closed
Thursday Closed
Friday Closed
Saturday Closed
Sunday Closed
下面的代码只显示上面的时间。
我的问题是,如果是星期四、星期五、星期六或星期日,我想显示办公室将在星期一下午 2:30 开放。如果是星期二,它将显示它将在星期三上午 9 点开放。
我如何计算以显示办公室的下一个营业日和营业时间
@foreach (var weekday in Model.OfficeHours.WeekdayHours)
{
@weekday.DayName <br>
@weekday.OpenTime.ToString("hh:mmtt")<br>
@weekday.CloseTime.ToString("hh:mmtt")
}
public IEnumerable<DayHours> WeekdayHours { get; set; }
public class DayHours
{
public DayHours();
public string DayName { get; set; }
public DateTime DayDate { get; set; }
public DateTime OpenTime { get; set; }
public DateTime CloseTime { get; set; }
public bool IsClosed { get; set; }
}
【问题讨论】:
-
只是一个提示:
DateTime有一个DayOfWeek属性。也许您可以使用它找到一周中的第二天? (即var nextWeekDay = Model.OfficeHours.WeekdayHours.Where(wh => wh.OpenTime.DayOfWeek == DateTime.Today.DayOfWeek + 1)(确保在DayOfWeek == 6时回绕) -
如果您只关心一天中的时间,而不是一年中的一天,请考虑使用
TimeSpan。