Nil*_*Pun 2 c# datetime c#-4.0
尝试比较两次之间的给定时间,看它是否在这些间隔内.例如,如果给定时间是00:00,我需要知道它是否在21:00:00到7:00之间.尝试TimeSpan.Compare没有锁定,也使用>或<时间部分.
例如给定间隔:
Run Code Online (Sandbox Code Playgroud)7:00:00 to 19:00:00 19:00:00 to 21:00:00 21:00:00 to 7:00:00
时间比较:
00:00:00和01:00:00
任何帮助将不胜感激.
更新的问题:
看起来要求很安静含糊.要求基本上是通过时间(TimeSpan)并与两个TimeSpan间隔进行比较,以查看它们是否落入这些间隔.
例如,如果员工在下面的不同时段工作,我们会说他们获得不同的津贴:
日期范围:2012-01-01至2012-31
Run Code Online (Sandbox Code Playgroud)19:00:00 to 21:00:00 ($10.00) 21:00:00 to 7:00:00 ($11.00) 7:00:00 to 19:00:00 ($12.00)
要计算员工的小时费率,我需要检查员工是否工作
- 日期范围:2012-01-01至2012-31
- 在时间范围之上.
并相应地应用$ Rate.
你可以自己写一个扩展方法,如;
public static class TimeExtensions
{
public static bool IsBetween(this DateTime time, DateTime startTime, DateTime endTime)
{
if (time.TimeOfDay == startTime.TimeOfDay) return true;
if (time.TimeOfDay == endTime.TimeOfDay) return true;
if (startTime.TimeOfDay <= endTime.TimeOfDay)
return (time.TimeOfDay >= startTime.TimeOfDay && time.TimeOfDay <= endTime.TimeOfDay);
else
return !(time.TimeOfDay >= endTime.TimeOfDay && time.TimeOfDay <= startTime.TimeOfDay);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28137 次 |
最近记录: |