Cra*_*ezz 13 java windows-7 simpledateformat ubuntu-10.04 playframework-1.x
我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'不起作用?
注意:
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)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)更新24/05/2012
在我的系统中再次检查后,有3个JRE和我的窗口使用JRE1.7默认.但对于Play我使用JRE1.6设置运行.
Niv*_*vas 14
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
...
Run Code Online (Sandbox Code Playgroud)
我不知道为什么Y会在Windows中工作,但它没有记录.y是正确的.而最安全的.