SimpleDateFormat的非法模式字符

SimpleDateFormat的非法模式字符

如下代码:

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");

关于java - java.lang.IllegalArgumentException:SimpleDateFormat的非法模式字符“Y”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57605310/

10-14 10:22