Java/Apache Velocity date.format给出了错误的年份

Java/Apache Velocity date.format给出了错误的年份,java,date-format,velocity,Java,Date Format,Velocity,我正在.vm文件中使用以下代码行。对于这个特定的日期,我希望返回的日期是2014年12月31日,但它返回的是2015年12月31日。有人知道是什么原因导致了今年的错误回归吗 $date.format('MM/dd/YY', 'Wed Dec 31 07:23:45 CST 2014') 在我的tools.xml文件中,我添加了ComparisonDataTool,如下所示: <tool class="org.apache.velocity.tools.generic.Comparison

我正在.vm文件中使用以下代码行。对于这个特定的日期,我希望返回的日期是2014年12月31日,但它返回的是2015年12月31日。有人知道是什么原因导致了今年的错误回归吗

$date.format('MM/dd/YY', 'Wed Dec 31 07:23:45 CST 2014')
在我的tools.xml文件中,我添加了ComparisonDataTool,如下所示:

<tool class="org.apache.velocity.tools.generic.ComparisonDateTool"
          format="MM/dd/yyyy H:m:s" depth="1" skip="month,week"
          bundle="org.apache.velocity.tools.generic.times" timezone="CST"/>

将格式更改为“MM/dd/yy”(注意小写字母y)

YY(大写Y)是

日历年的第一周是从getFirstDayOfWeek()开始的最早的七天周期,其中至少包含从该年开始的getMinimalDaysInFirstWeek()天。因此,它取决于getMinimalDaysInFirstWeek()、getFirstDayOfWeek()和1月1日的星期几的值。从一年的第1周到下一年的第1周(不包括)之间的周从2到52或53依次编号(朱利安-格列高利过渡所涉及的年份除外)

第一周和最后一周(含)之间的所有周都具有相同的周-年值。因此,一周中的第一天和最后一天可能具有不同的日历年值。 ... 例如,1998年1月1日是星期四。如果getFirstDayOfWeek()是星期一,getMinimalDaysInFirstWeek()是4(ISO 8601标准兼容设置),则1998年第1周从1997年12月29日开始,到1998年1月4日结束。1997日历年最后三天的年份为1998年。但是,如果getFirstDayOfWeek()是星期天,那么1998年的第1周从1998年1月4日开始,到1998年1月10日结束;1998年的前三天是1997年第53周的一部分,其周年为1997年