非法字符模式“Y”在Ubuntu(Illegal pattern character 'Y&

2019-06-24 10:14发布

我使用这种模式SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); 在Windows和它的作品,但是当尝试在Ubuntu 10.04也表现出异常play.exceptions.JavaExecutionException: Illegal pattern character 'Y'

我搜索用于此解决方案,发现年模式必须改变小写: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 和它的作品。

谁能告诉我这背后的原因,工作在Windows,但在Ubuntu如果我使用“Y”没有工作,而不是“Y”?

注意:

  1. 播放-1.2.3
  2. JRE:
    1. 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)
    2. 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)
  3. Windows 7的
  4. Ubuntu的10.04

更新24/05/2012

之后,我在我的系统再次检查,有3 JRE和使用JRE1.7默认我的窗户。 但是对于玩我设置使用JRE1.6运行。

Answer 1:

我搜索SimpleDateFormat的,并得到了商务部从甲骨文。

作品在我的窗户,因为我设置的默认JRE 1.7,但使用JRE1.6的播放框架仍在运行。

因为这个在Windows上运行,JRE1.7增加了“Y”的图案Week year和JRE1.6没有模式这一点。



Answer 2:

Y不是一个有效的模式。 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,但它没有记录。 y是正确的。 和最安全的。



文章来源: Illegal pattern character 'Y' on Ubuntu