当前位置: 首页 > 面试题库 >

java.lang.IllegalArgumentException:SimpleDateFormat的非法模式字符“ Y”

连志义
2023-03-14
问题内容

如下代码:

Calendar now = Calendar.getInstance();
month = now.get(Calendar.MONTH) + 1;
year = now.get(Calendar.YEAR);
System.out.println("Month " + month + " year " + year);
SimpleDateFormat dt1 = new SimpleDateFormat("MMMM YYYY");
e.setMonthnYear(dt1.format(now.getTime()));

在服务器上部署后显示以下异常:

java.lang.IllegalArgumentException: Illegal pattern character 'Y'
    java.text.SimpleDateFormat.compile(SimpleDateFormat.java:768)
    java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:575)
    java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:500)
    java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:475)
    iland.employee.EmployeeAction.fetchAllAtted(EmployeeAction.java:169)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)

在我使用的本地主机上JDK v1.8,上面的代码运行正常,但是在服务器上却无法运行。

我该如何解决?


问题答案:

尝试

SimpleDateFormat dt1 = new SimpleDateFormat("MMMM yyyy");


 类似资料:
  • 问题内容: 我想在链接末尾获得名称,所以我做到了 Eclipse表示String文字没有被双引号正确关闭 如何比较String和这个char ? 问题答案: 字符“ \”是一个特殊字符,用作字符串的一部分时需要转义,例如“ \”。这是使用’'字符进行字符串比较的示例: 您还可以使用类似于以下内容的逻辑执行直接字符比较:

  • 问题内容: 我正在尝试在用户注册后发送确认电子邮件。我为此使用JavaMail库和Java 8 Base64 util类。 我以以下方式对用户电子邮件进行编码: 在哪里: 然后以这种方式在ConfirmRegistrationCommand中对此进行解码: 当我尝试解码时: 我正在。 我尝试使用基本的编码/解码器(而不是URL编码),但没有成功。 解决了: 问题是下一个-在该行中: 我在字节数组上

  • 我正在尝试在用户注册后发送确认邮件。为此,我使用了JavaMail库和Java8 Base64 util类。 然后以如下方式在ConfirmRegistrationCommand中解码: 当我试图解码时: 我正在获取。 我尝试使用基本的编码/解码器(不是URL的)没有成功。 已解决:

  • 我认为索引146处字符是''。那个角色怎么了? 谢谢你的建议。 这是我构建查询的代码: