比较DateTimePicker的时间 [英] Compare Time from DateTimePicker
本文介绍了比较DateTimePicker的时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嘿伙计们,
我想减去时间; dateTimePicker中的实际时间和时间。
然后我要比较。
这是我的实际代码:
TimeSpan零=新TimeSpan(0,0,0,0,0);
private void ti_timeLeft_Tick(object sender,EventArgs e)
{
try
{
TimeSpan notification1 = new TimeSpan(0,0,2,0) ,0);
TimeSpan notification2 = new TimeSpan(0,0,5,0,0);
TimeSpan notification3 = new TimeSpan(0,0,10,0,0);
}
catch(Exception ex){}
DateTime now = DateTime.Now;
列表< TimeSpan> diffs = new List< TimeSpan>(7);
#regionMonday
if(DateTime.Now.DayOfWeek.ToString()==Monday)
{
if(dtp_monday1.Checked)
{
if((dtp_monday1.Value - now)> zero)
diffs.Add(dtp_monday1.Value - now);
}
if(dtp_monday2.Checked)
{
if((dtp_monday2.Value - now)> zero)
diffs.Add(dtp_monday2 .Value - now);
}
if(dtp_monday3.Checked)
{
if((dtp_monday3.Value - now)> zero)
diffs.Add(dtp_monday3.Value - now );
}
if(dtp_monday4.Checked)
{
if((dtp_monday4.Value - now)> zero)
diffs.Add(dtp_monday4.Value - now );
}
if(dtp_monday5.Checked)
{
if((dtp_monday5.Value - now)> zero)
diffs.Add(dtp_monday5.Value - now );
}
if(dtp_monday6.Checked)
{
if((dtp_monday6.Value - now)> zero)
diffs.Add(dtp_monday6.Value - now );
}
if(dtp_monday7.Checked)
{
if((dtp_monday7.Value - now)> zero)
diffs.Add(dtp_monday7.Value - now );
}
if(diffs.Count == 0)
{
//this.lab_time_left.Text =;
返回;
}
diffs.Sort();
TimeSpan min = diffs [0];
TimeSpan max = diffs [diffs.Count - 1];
this.lab_time_left.Text =剩余时间:+ min.Hours.ToString(00)+:+ min.Minutes.ToString(00)+:+ min.Seconds.ToString( 00);
}
}
我怎么能只做几次:
if((dtp_monday1.Value - now)> zero)
????
请帮帮我
解决方案
你可以使用例如 DateTime.CompareTo方法 [ ^ ]比较日期的方法。例如:
...
if (dtp_monday1.Value.CompareTo(now) > 0 ){
...
尝试下面的代码:
if ((dtp_monday1.Value - 现在).TotalDays > 0 )
{
// 您的逻辑
}
这里我用过TotalDays获得两个日期之间的总天数差异。如果您需要小时,分钟和秒,则使用TotalHours,TotalMinutes,TotalSeconds。
Hey guys,
i want to subtract to times; the actual time and a time in a dateTimePicker.
then i want to compare.
this is my actual code:
TimeSpan zero = new TimeSpan(0, 0, 0, 0, 0); private void ti_timeLeft_Tick(object sender, EventArgs e) { try { TimeSpan notification1 = new TimeSpan(0, 0, 2, 0, 0); TimeSpan notification2 = new TimeSpan(0, 0, 5, 0, 0); TimeSpan notification3 = new TimeSpan(0, 0, 10, 0, 0); } catch (Exception ex) { } DateTime now = DateTime.Now; List<TimeSpan> diffs = new List<TimeSpan>(7); #region "Monday" if (DateTime.Now.DayOfWeek.ToString() == "Monday") { if (dtp_monday1.Checked) { if ((dtp_monday1.Value - now) > zero) diffs.Add(dtp_monday1.Value - now); } if (dtp_monday2.Checked) { if ((dtp_monday2.Value - now) > zero) diffs.Add(dtp_monday2.Value - now); } if (dtp_monday3.Checked) { if ((dtp_monday3.Value - now) > zero) diffs.Add(dtp_monday3.Value - now); } if (dtp_monday4.Checked) { if ((dtp_monday4.Value - now) > zero) diffs.Add(dtp_monday4.Value - now); } if (dtp_monday5.Checked) { if ((dtp_monday5.Value - now) > zero) diffs.Add(dtp_monday5.Value - now); } if (dtp_monday6.Checked) { if ((dtp_monday6.Value - now) > zero) diffs.Add(dtp_monday6.Value - now); } if (dtp_monday7.Checked) { if ((dtp_monday7.Value - now) > zero) diffs.Add(dtp_monday7.Value - now); } if (diffs.Count == 0) { //this.lab_time_left.Text = ""; return; } diffs.Sort(); TimeSpan min = diffs[0]; TimeSpan max = diffs[diffs.Count - 1]; this.lab_time_left.Text = "Time left: " + min.Hours.ToString("00") + ":" + min.Minutes.ToString("00") + ":" + min.Seconds.ToString("00"); } }
how can i do this just with times:
if ((dtp_monday1.Value - now) > zero)
????
please help me
解决方案
You can use for example DateTime.CompareTo Method[^] method to compare the dates. For example:
... if (dtp_monday1.Value.CompareTo(now) > 0) { ...
Try with below code:
if((dtp_monday1.Value - now).TotalDays > 0) { // Your logic }
Here I used TotalDays to get total no of days difference between two dates. If you need for hours, minutes and seconds then use TotalHours, TotalMinutes, TotalSeconds.
这篇关于比较DateTimePicker的时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文