首页 / C# / C#中的DateTime间隔限制
C#中的DateTime间隔限制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#中的DateTime间隔限制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1818字,纯文字阅读大概需要3分钟。
内容图文
![C#中的DateTime间隔限制](/upload/InfoBanner/zyjiaocheng/825/457b0c3938cc484ab61c6e9863dedec7.jpg)
问题:
我正在为学校的顾问实施调度程序.调度程序假设在星期一到星期五的上午8:00到下午5:00之间设置15分钟的间隔时间段.此外,顾问程序必须指定调度程序的开始和结束日期.调度程序还将提供一个选项,以指定15分钟时隙是否未打开.这意味着我的顾问将能够将特定时间段标记为不可用.
到目前为止我所拥有的:
我创建了一个简单的类:
public class TimeSlot
{
public DateTime dateTime
{
get;
set;
}
public bool isAvailable
{
get;
set;
}
TimeSlot(DateTime dt, bool Avalible)
{
dateTime = dt;
isAvailable = Avalible;
}
}
该类基本上表示调度程序中一个时隙的对象.我还有一个时间列表,用于保存有效时隙列表:
List<TimeSlot> TSList = new List<TimeSlot>();
请注意,有效时间段表示以下内容:
>日期在:周一至周五.
>时间在:上午8:00到下午5:00
>时间段在15分钟内.
另外,我有一个方法填写TSList如下:
private void button_Next_Click(object sender, RoutedEventArgs e)
{
/* Getting the values of fromDate and toDate from the GUI controls*/
DateTime fromDate = datePicker1.SelectedDate.Value;
DateTime toDate = datePicker2.SelectedDate.Value;
while (fromDate <= toDate)
{
/*This ensures that we only deal with days Monday to Friday*/
if (fromDate.DayOfWeek.ToString() != "Saturday" && fromDate.DayOfWeek.ToString() != "Sunday")
{
/*PROBLEM HERE!!*/
}
/*Updating fromDate: Incrementing fromDate by 1 day*/
fromDate = fromDate.AddDays(1);
}
}
注意到我只能满足有效时隙条件下的第一个条件.因此,我只能将日期限制在星期一到星期五的范围内.
问题:
我试图为一个时间段实现缺少的两个有效条件:
>如何限制时间仅为上午8:00至下午5:00?
>如何将时间间隔隔开15分钟?
解决方法:
首先,请使用DayOfWeek.Saturday和DayOfWeek.Sunday进行比较,转换为字符串是没有必要的……
然后就像使用简单的循环一样
DateTime startSlot = fromDate.Date.AddHours(8); // Starts at 8:00AM
while (startSlot.Hour < 17) {
// Construct time slot class
startSlot = startSlot.AddMinutes(15);
}
这将为您提供startSlot值,从每个日期的上午8:00开始,范围为下午5点(即最后一个是下午4:45).
内容总结
以上是互联网集市为您收集整理的C#中的DateTime间隔限制全部内容,希望文章能够帮你解决C#中的DateTime间隔限制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。