Ubuntu上的非法模式字符’Y’
我使用这种模式SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
在Windows中它可以工作,但是当尝试使用Ubuntu 10.04时,它会显示exceptionplay.exceptions.JavaExecutionException: Illegal pattern character 'Y'
。
我为此搜索解决方案并发现年份模式必须更改为小写: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
它的工作原理。
任何人都可以告诉我这背后的原因在Windows工作,但在Ubuntu如果我使用’Y’而不是’y’不起作用?
注意:
- 播放-1.2.3
- JRE:
- Windows:
java version "1.7.0_03" Java(TM) SE Runtime Environment (build 1.7.0_03-b05) Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode, sharing)
- Ubuntu:
java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1.6.0_31-b04) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)
- Windows:
- Windows 7的
- Ubuntu 10.04
更新24/05/2012
在我的系统中再次检查后,有3个JRE和我的窗口使用JRE1.7默认。 但对于Play我使用JRE1.6设置运行。
我搜索SimpleDateFormat并从oracle获得doc 。
在我的窗口中工作,因为我将默认的JRE设置为1.7,但仍然使用JRE1.6为Play Framework运行。
因此,在Windows上工作,JRE1.7为周年添加了’Y’模式,而在JRE1.6中没有添加模式。
Y
不是有效的模式。 是的。
根据文档 :
Letter Date or Time Component Presentation Examples G Era designator Text AD y Year Year 1996; 96 M Month in year Month July; Jul; 07 w Week in year Number 27 ...
我不知道为什么Y
会在windows中工作,但是没有记录。 是正确的。 而最安全的。