// 获得输入的时间
string strTimeFirst = txbStarTime.Text.ToString().Trim();
string strTimeSecond  = txbEndTime.Text.ToString().Trim();// 把开始和结束的时间转化成DateTime形式
DateTime  dtTimeFirst = System.Convert.ToDateTime(strTimeFirst);
DateTime  dtTimeSecond = System.Convert.ToDateTime(strTimeSecond);// 比较开始和结束时间是否合乎要求
// iDayCompare = 0 开始结束时间相等
// iDayCompare = 1 开始小于结束时间
// iDayCompare = -1 开始大于结束时间
// 其他情况则输入数据有问题
int iDayCompare = System.DateTime.Compare( dtTimeSecond, dtTimeFirst );
if(  iDayCompare == 1 )
{
  // 获得开始结束相差的时间
  System.TimeSpan tsDiff = dtTimeSecond - dtTimeFirst;  // 把数据绑定到listBox中
  libTimeDiff.Items.Clear();
  ListItem liTimeDiff=new ListItem();
  liTimeDiff.Text = Convert.ToString( tsDiff.Days );
  liTimeDiff.Value = Convert.ToString( tsDiff.Days );
  libTimeDiff.Items.Add( liTimeDiff );
  libTimeDiff.DataBind();
 }
 else if (iDayCompare == 0 )
 {
  Response.Write("<script>alert('你输入两个相同的日期!')</script>");
 }
 else if (iDayCompare == -1 )
 {
  Response.Write("<script>alert('你输的日期开始时间大于了结束时间!')</script>");
 }
 else
 {
   Response.Write("<script>alert('你输入的开始结束时间有问题,请检查!')</script>"); 
 }

解决方案 »

  1.   

    // 获得开始结束相差的时间
      System.TimeSpan tsDiff = dtTimeSecond - dtTimeFirst;
      

  2.   

    我的意思是:dt - dv(i)("release_time").ToDate 语法错误!
    dt - dv(i)("release_time")也是语法错误!
      

  3.   

    首先是两个DateTime类型不能做减法运算,必需用System.TimeSpan来得到两个日期间的差值,清单如下:
    ----------------------------------------------------------
    Dim dt As DateTime
    dt = DateTime.Now
    dv = New DataView(ds.Tables("news"))For i = 0 To dv.Count - 1
      temTime = dv(i)("release_time").ToDateTime
      System.TimeSpan(tsDiff = dt - temTime)  If (tsDiff > dv(i)("validity").toint16) Then  End If
    Next
      

  4.   

    System.TimeSpan(tsDiff = dt - temTime)这句还是无法通过!