java中的日期格式错误

时间:2014-03-15 07:45:42

标签: java jsp

当我在使用jre 7运行的tomcat 6或7中的jsp页面中使用日期格式时,它没有显示任何错误。

但是当我将我的代码上传到另一台运行jre 6或5的机器时,它显示出以下错误。 在我的代码中,我也导入了java.util.java.text包。

     org.apache.jasper.JasperException: An exception occurred processing JSP page       /entsug.jsp at line 24

      21: String imag =(String)session.getAttribute("image");
      22: String frrr =(String)session.getAttribute("frrr");
      23: String moto = request.getParameter("sugge");
      24: java.text.DateFormat df = new java.text.SimpleDateFormat("dd/MM/YYYY   HH:mm"); 
      25: String da=df.format(new java.util.Date()); 
      26: 
      27: 

堆栈跟踪:

       org.apache.jasper.servlet.JspServletWrapper.handleJspException
       (JspServletWrapper.java:510)
   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

根本原因

        java.lang.IllegalArgumentException: Illegal pattern character 'Y'
    java.text.SimpleDateFormat.compile(Unknown Source)
    java.text.SimpleDateFormat.initialize(Unknown Source)
    java.text.SimpleDateFormat.<init>(Unknown Source)
    java.text.SimpleDateFormat.<init>(Unknown Source)
    org.apache.jsp.entsug_jsp._jspService(entsug_jsp.java:88)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

3 个答案:

答案 0 :(得分:2)

比较API Docs for Java 6和Java 7可以得到答案:

SimpleDateFormat SE 6仅允许小写'y'显示年份。 SimpleDateFormat SE 7还允许大写字母'Y'显示所谓的“周年”

祝你好运!

答案 1 :(得分:0)

尝试小&#39; y&#39;而不是资本认为有效。

答案 2 :(得分:0)

试试这个

java.text.DateFormat df = new java.text.SimpleDateFormat("dd/MM/yyyy  HH:mm"); 

小写y