程序是这样写的:
String riqis = String.valueOf(year-1) + "-" + String.valueOf(month) + "-" + String.valueOf(day);
Date riqi=Date.valueOf(riqis);
strSql="select * from table where endtime<'" +riqi + "';以前运行正常,但我重新安装最新的tomcat和java后,在netbeans下编译没有问题,但运行出错。
错误在这一句:Date riqi=Date.valueOf(riqis);
用java.sql.Date riqi=java.sql.Date.valueOf(riqis)也出错。是不是新版的java和tomcat跟以前比,有什么改变?

解决方案 »

  1.   


    是这句出了问题:
    Date riqi=Date.valueOf(riqis);
      

  2.   

    你用format转换一下格式吧,或者用new Date()
      

  3.   

    你用format转换一下格式吧,或者用new Date()
      

  4.   

    就这么用,直接用日期类型,字符串的方式不靠谱。
    要转换为日期类型,用simpledateformat吧。
      

  5.   

    用calender来处理吧~要不你可以把日期转换成long型的,这样的比较能精确到毫秒,速度也快。
      

  6.   

    用convert处理
    strSql="select * from table where endtime < convert(datetime, '" + riqi + "', 120) ";