在我的申请中,我传递了办公室的开放和关闭时间。 像这样的例子
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; }
}
最佳答案
而不是 IEnumerable
, 你可以 Dictionary
到 map DateTime
反对 DayHours
对象。
这样,你可以用DateTime.AddDays()
查看第二天并从 Dictionary
中检索它
@foreach (var weekday in Model.OfficeHours.WeekdayHours)
{
@weekday.Key <br> // Formerly DayDate, now the key of the Dictionary
@weekday.Value.OpenTime.ToString("hh:mmtt")<br>
@weekday.Value.CloseTime.ToString("hh:mmtt")
}
public Dictionary<DateTime,DayHours> WeekdayHours { get; set; }
public class DayHours
{
public DayHours();
public string DayName { get; set; }
public DateTime OpenTime { get; set; }
public DateTime CloseTime { get; set; }
public bool IsClosed { get; set; }
}
你可以查看 isClosed
然后显示 WeekDayHours[weekday.Key.AddDays(1)].Value...
或者只是 weekday.Value...
关于c# - 显示下一个开放日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51408082/