private void button5_Click(object sender, EventArgs e)
{
string str = "8.00~12.30";
int index = str.IndexOf('~');
int length = str.Length - index - 1;
string begin = str.Substring(0, index);
string end = str.Substring(index + 1, length);
string timea = "8:30";
string timeb = "11:30";
DateTime beginTime = Convert.ToDateTime(timea);
DateTime endTime = Convert.ToDateTime(timeb);
var aaa = GetTimeLength(beginTime, endTime);
var bbb = GetTimeLenght2(beginTime, endTime);
MessageBox.Show("GetTimeLength==" + aaa + "\r\n" + bbb);
}
public string GetTimeLength(DateTime beginTime, DateTime endTime)
{
try
{
string timeLength = string.Empty;
TimeSpan begin = new TimeSpan(beginTime.Ticks);
TimeSpan end = new TimeSpan(endTime.Ticks);
TimeSpan ts = begin.Subtract(end).Duration();
timeLength = Convert.ToString(ts.Hours * 60 + ts.Minutes);
return timeLength;
}
catch
{
}
return string.Empty;
}
public string GetTimeLenght2(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = string.Empty;
try
{
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
string hours = ts.Hours.ToString(), minutes = ts.Minutes.ToString(), seconds = ts.Seconds.ToString();
if (ts.Hours < 10)
{
hours = "0" + ts.Hours.ToString();
}
if (ts.Minutes < 10)
{
minutes = "0" + ts.Minutes.ToString();
}
if (ts.Seconds < 10)
{
seconds = "0" + ts.Seconds.ToString();
}
dateDiff = hours + ":" + minutes + ":" + seconds;
}
catch
{
}
return dateDiff;
}

string str = this.txtvalue.Text;// "13.30~14.30";
int index = str.IndexOf('~');
int length = str.Length - index - 1;
string startT = str.Substring(0, index);
string endT = str.Substring(index + 1, length);
DateTime currentTime = DateTime.Parse(DateTime.Now.ToString("HH:mm"));
DateTime beginTime = Convert.ToDateTime(startT.Replace('.', ':'));
DateTime endTime = Convert.ToDateTime(endT.Replace('.', ':'));
string minutes = GetTimeLength(beginTime, currentTime);
string end1 = str.Substring(index + 1, length);
TimeSpan endTime1 = DateTime.Parse(end1.Replace('.', ':') + ":59").TimeOfDay;
TimeSpan currentDT = DateTime.Now.TimeOfDay;
//过时签到
if (currentDT > endTime1)//已过签到时间
{
MessageBox.Show("已过时无法签到==" + minutes);
}
//时间段内签到 || int.Parse(minutes) <= int.Parse(this.txtNo.Text)
else if (currentTime > beginTime && currentTime <= endTime)
{
MessageBox.Show("签到成功2==" + minutes);
}
//提前签到 --当前时间小于签到开始时间
else if (int.Parse(minutes) <= int.Parse(this.txtNo.Text) && currentTime < beginTime)
{
MessageBox.Show("签到成功1==" + minutes);
}
else if (int.Parse(minutes) >= int.Parse(this.txtNo.Text) && currentTime < beginTime)
{
MessageBox.Show("签到时间未到,无法签到==" + minutes);
}
博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!

浙公网安备 33010602011771号