猿问

关于计算时间差莫名其妙的问题,当输入时间是当天时间的明天时与现在的时间差结果还是为0,怎么不是1呢?

string end = txtYear.Text + '-' + txtMonth.Text + '-' + txtDate.Text+"  00:00:00";

DateTime TimeEnd = Convert.ToDateTime(end),
                TimeStart = DateTime.Now;   
TimeSpan   chargetimespan1;   
                chargetimespan1=TimeEnd-TimeStart;
                 Resultlabel.Text=chargetimespan1.Days.ToString();

当输入时间是当天时间的明天时与现在的时间差结果还是为0,怎么不是1呢?


红糖糍粑
浏览 657回答 2
2回答

肥皂起泡泡

TimeSpan 的 Days 以小时计(每24小时为1日),它并不能记录并计算起始、终止时间的实际跨度日(人们认识的天数)。你把 txtDate.Text+"  00:00:00" 改为 txtDate.Text+"  23:59:59" 即可。或者改成你说的 Today (那么你所谓的起始时间便是 00:00:00 而不是 Now 的时间)
随时随地看视频慕课网APP
我要回答