Java SimpleDateFormat(“ddmmyyyyhmm”)仅包含3y
我的应用程序正在处理一个Java SimpleDateFormat(“ddmmyyyyhmm”)仅包含3y,java,simpledateformat,Java,Simpledateformat,我的应用程序正在处理一个SimpleDateFormatbug。只指定了3y而不是4,但它生成了4位数字的正确输出。我不知道为什么从昨天开始它只生成两位数。我的意思是“14”而不是“2014”。我只是纠正了错误的格式就解决了这个问题,但我仍然想知道为什么它会改变行为。有什么想法吗?谢谢任何数量的y字母,但是yy将被逐字解释,而不管数字的多少。例如,y,yyy和yyy将给出2014,yyyy将给出02014作为输出。只有yy将14作为输出 我不知道是什么改变了输出的行为,但可能是因为您意外地删除了
SimpleDateFormat
bug。只指定了3y而不是4,但它生成了4位数字的正确输出。我不知道为什么从昨天开始它只生成两位数。我的意思是“14”而不是“2014”。我只是纠正了错误的格式就解决了这个问题,但我仍然想知道为什么它会改变行为。有什么想法吗?谢谢任何数量的y
字母,但是yy
将被逐字解释,而不管数字的多少。例如,y
,yyy
和yyy
将给出2014
,yyyy
将给出02014
作为输出。只有yy
将14
作为输出
我不知道是什么改变了输出的行为,但可能是因为您意外地删除了其中的一个
y
字母:)可能是因为JVM版本?我的意思是,用Java6做一个测试,我得到了4个数字,而用Java7,我得到了2个数字。阅读文档后,两种实现之间似乎没有什么区别。有相关代码吗?至少要感谢发布您的代码!非常感谢。我最近才意识到JVM已经从6变为7。这应该是原因!我会调查的。谢谢