在我的申请中,我正在通过办公室的开放和关闭时间 . 像这样的例子
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
The code below only display the hours like above.
我的问题是,如果是周四,周五,周六或周日,我想显示该办公室将于周一下午02:30开放 . 如果是星期二,它将显示它将在星期三上午9点开放 .
How do I calculate to show the next open day and hour of the office
@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; }
}
1 回答
您可以
Dictionary
将DateTime
对象映射到DayHours
对象,而不是IEnumerable
.这样,您可以使用
DateTime.AddDays()
检查第二天并从Dictionary
检索它您可以检查
isClosed
,然后显示WeekDayHours[weekday.Key.AddDays(1)].Value...
或只显示weekday.Value...