C#比较两个时间间隔之间的时间尝试比较两个时间之间的给定时间,看它是否落在这些时间间隔内。例如,如果给定时间是00:00,我需要知道它是否介于21:00:00和7:00之间。尝试不带锁的TimeSpan.Compare,也可以使用>或<时间部分。例如给定的时间间隔:7:00:00到19:00:0019:00:00到21:00:0021:00:00到7:00:00时间比较:00:00:00和01:00:00任何帮助将不胜感激。更新的问题:看起来请求很模糊。要求基本上是传递一个Time(TimeSpan)并与两个TimeSpan间隔进行比较,以查看它们是否落在这些间隔内。例如,如果员工在以下不同时间工作,他们会说不同的津贴:日期范围:2012-01-01至2012-3119:00:00至21:00:00($10.00)21:00:00至7:00:00($11.00)7:00:00至19:00:00($12.00)要计算员工的小时费率,我需要检查员工是否在以下日期范围内工作:2012-01-01至2012-31在超出范围的时间。并相应地应用$Rate。例如,您可以扩展自画像;publicstaticclassTimeExtensions{publicstaticboolIsBetween(thisDateTimetime,DateTimestartTime,DateTimeendTime){if(time.TimeOfDay==startTime.TimeOfDay)返回真;如果(time.TimeOfDay==endTime.TimeOfDay)返回true;if(startTime.TimeOfDay=startTime.TimeOfDay&&time.TimeOfDay=endTime.TimeOfDay&&time.TimeOfDay...静态类DateTimeExt{publicstaticboolTimeOfDayIsBetween(thisDateTimet,DateTimestart,DateTimeend){vartime_of_day=t.TimeOfDay;varstart_time_of_day=start.TimeOfDay;varend_time_of_day=end.TimeOfDay;if(start_time_of_day...结果低于stamp:1/1/201212:00:00AM[1/1/20127:00:00AM,1/1/20127:00:00PM]:假1/1/20121:00:00AM[1/1/20127:00:00AM,1/1/20127:00:00PM]:假1/1/201212:00:00AM[1/1/20127:00:00PM,1/1/20129:00:00PM]:假1/1/20121:00:00AM[1/1/20127:00:00PM,1/1/20129:00:00PM]:假1/1/201212:00:00AM[1/1/20129:00:00PM,1/1/20127:00:00AM]:True1/1/20121:00:00AM[1/1/20129:00:00PM,1/1/20127:00:00AM]:正确5/17/201212:00:00AM[5/17/20128:00:00PM,5/18/20128:00:00AM]:正确5/17/20129:00:00AM[5/17/20128:00:00PM,5/18/20128:00:00AM]:假1/1/201212:00:00AM[1/1/201212:00:00AM,1/1/201212:00:00AM]:True或者,如果您的需求超出此范围,请使用我最喜欢的库之一vartime1=DateTime.Now.TimeOfDay;vartime2=DateTime.Now.AddDays(1.3).TimeOfDay;vardiff=time2-time1;所以这只是为了表明添加1.3天仍然给出相同时间的答案。不知道为什么timepan不适合你。我在我的POC应用程序中尝试了这个示例并且它有效。DateTimet1=DateTime.Now;日期时间t2=DateTime.UtcNow;t1.TimeOfDay.CompareTo(t2.TimeOfDay);试试这个希望它能解决问题。以上是C#学习教程:C#比较两个时间区间的时间分配。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注---stringdt=DateTime。现在.ToShortTimeString();DateTimepresenttime=Convert.ToDateTime(dt);starttime=starttimepicker.ValueString;日期时间dtime=Convert.ToDateTime(开始时间);if(dtime>presenttime){MessageBox.Show("时间不能大于系统时间,请重试!","不要选择未来时间",MessageBoxButton.OK);starttimepicker.Value=现在时间;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
