2015-06-21 160 views
2

我试图在执行preparedStatement之前更改服务器的时间。服务器时间为EDT,我希望在准备好的语句中使用它之前将其添加6小时。DateUtils无法解析

目前我得到这个错误:

DateUtils cannot be resolved.

我怎样才能解决呢?

我很感激任何帮助。

代码:

String sql = "SELECT r.route " 
      + "FROM routes AS r " 
      + "JOIN arrivaltimes AS a ON a.route_id = r.route_id " 
      + "JOIN stops as s on a.stop_id = s.stop_id " 
      + "WHERE a.weekday = ? " 
      + "AND arrivaltime BETWEEN ? - INTERVAL 2 MINUTE AND ? + INTERVAL 2 MINUTE " 
      + "AND s.name = ?"; 

    PreparedStatement preparedTime = con.prepareStatement(sql); 

    Date d1 = new Date(); 
    SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); 
    String serverTime = df.format(d1); 
    java.sql.Time time = null; 
    try { 
     time = new java.sql.Time(df.parse(serverTime).getTime()); 
     Date newDate = DateUtils.addHours(time, 6); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
+0

什么是你的代码中的DateUtils?它的包装是什么? –

+0

我没有导入它,因为当我将它悬停在它上面时,什么都没有出现!只是将它创建为类..我试图导入它作为这个'import org.apache.commons.lang.time.DateUtils;'但我得到'导入org.apache.commons无法解析'? – TheBook

+0

我已经导入了日期包'import java.util.Date;' – TheBook

回答

3

根据您的第一个评论,The import org.apache.commons cannot be resolved意味着罐子commons-lang.jar从classpath中失踪。将jar添加到你的类路径,导入将会成功。

根据您的第二条评论,java.util.Date属于rt.jar(以及其他一些罐子)。 DateUtilsDate有不同的包装结构,可通过单独的罐子获得。

+0

我不知道我不得不导入一个jar来使用它:) – TheBook

+0

我得到这个错误,当我执行它'java.lang.NoClassDefFoundError:org/apache/commons/lang/time/DateUtils]的根本原因 java.lang.ClassNotFoundException:org.apache.commons.lang.time.DateUtils'? – TheBook