我知道可以用after或者before来进行判断,哪为高手给写个这样的判断啊,如果结束时间小于开始时间的话,结束时间显示为“”空。

解决方案 »

  1.   

    我在取一个数据库表,其中有两个字段:开始时间和结束时间,如果结束时间超时的话,那他的时间就是1970-01-01。我想解决的是如果开始时间为2006-01-01,而结束时间为1970-01-01,那结束时间就小于开始时间,结束时间就显示为“”空或赋给他另外一个值。怎么来写这个逻辑?我知道可以用after或者before来进行判断,但是具体不知道怎么写。
      

  2.   

    select begindate as bd,
    (case when enddate>begindate then enddate else null end) as ed
    from table1
      

  3.   

    NONO,我是想在程序里取数据的时候做判断,而不是在数据库里。
      

  4.   

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
       java.util.Date mStart = null;
       java.util.Date mEnd = null;
       mStart = sdf.parse(start)
       mEnd = sdf.parse( end)
       if(mEnd.before(mEnd))
       { 
          你的代码;
        }
      

  5.   

    呵呵,不好意思。这个才是
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
       java.util.Date mStart = null;
       java.util.Date mEnd = null;
       mStart = sdf.parse(start)
       mEnd = sdf.parse( end)
       if(mEnd.before(mStart ))
       { 
          你的代码;
        }
      

  6.   

    谢谢,那我不用这个类SimpleDateFormat 行不行?我现在是这样取的开始时间和结束时间。如下:
    obj.setStartTime(sdf.format(rs.getTimestamp("CONNECT_TIME")));
    obj.setStopTime(sdf.format(rs.getTimestamp("RELEASE_TIME")));
    我怎么才能在取值的时候就直接判断了?因为我已经用了sdf.format。
      

  7.   

    java.util.Date mStart = rs.getTimestamp("CONNECT_TIME");
       java.util.Date mEnd = rs.getTimestamp("RELEASE_TIME");
       obj.setStartTime(mStart);
       if(mEnd.before(mStart ))
      {
       obj.setStopTime("");  }
      else
     {
      obj.setStopTime(sdf.format(mEnd ))
      
     }
      

  8.   

    我必须用obj.setStartTime(sdf.format(rs.getTimestamp("CONNECT_TIME")));中的sdf.format来对时间进行格式调整。否则出现的时间格式就会是“2006-06-12 21:15:32.0”。
      

  9.   

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    当你new SimpleDateFormat 就可以控制时间格式。
    ("yyyy-MM-dd")2006-01-01
    ("yyyy-MM-dd HH:mm")2006-01-01 00:00
    等等,你可以自己查一下