有两个参数,是从数据库传来的日期,格式是'yyyy-mm-dd',我用查询语句to_char函数把它转换成了Sting类型的了。
方法如下,传递的两个参数是时间我想把他们之间相差的时间hours算出来,
但是会报java.text.ParseException: Unparseable date: "2007-11-30"这个异常
public static long time(String sysdate,String time)throws ParseException
{
SimpleDateFormat format = new SimpleDateFormat();
format.applyPattern("yyyy-mm-dd ");
Date da1 = format.parse(sysdate);
Date da2 = format.parse(time);
long hours = (da2.getTime() - da1.getTime());
return hours;
}
怎么解决?

解决方案 »

  1.   

    SimpleDateFormat   format   =   new   SimpleDateFormat("yyyy-mm-dd"); 
    format.parse("2007-12-12");
      

  2.   

    年月日的format是"yyyy-MM-dd" getTime返回的是milliseconds
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;public class Test {
    public static void main(String[] args) {
             try {
    System.out.println(time("2007-11-29","2007-12-31"));
    }
    catch (ParseException e) {
    e.printStackTrace();
    }
    } public static long time(String sysdate, String time) throws ParseException {
    SimpleDateFormat format = new SimpleDateFormat();
    format.applyPattern("yyyy-MM-dd");
    Date da1 = format.parse(sysdate);
    Date da2 = format.parse(time);
    long hours = (da2.getTime() - da1.getTime());
            hours=hours/3600000;
    return hours;
    }}/*
    768
    */