簡體   English   中英

Java / Apache Velocity date.format給出了錯誤的一年

[英]Java/Apache Velocity date.format giving wrong year

我在.vm文件中使用以下代碼行。 對於這個特定的日期,我希望將日期返回到12/31/14,而是返回12/31/15。 有誰知道什么可能導致今年回來錯了?

$date.format('MM/dd/YY', 'Wed Dec 31 07:23:45 CST 2014')

在我的tools.xml文件中,我添加了ComparisonDateTool,如下所示:

<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(Julian-Gregorian過渡所涉及的年份除外)。

....

第一周和最后一周(包括)之間的所有周都具有相同的周年值。 因此,一周的第一天和最后一天可能具有不同的日歷年值。 ......例如,1998年1月1日是星期四。 如果getFirstDayOfWeek()是MONDAY並且getMinimalDaysInFirstWeek()是4(ISO 8601標准兼容設置),那么1998年第1周將於1997年12月29日開始,並於1998年1月4日結束。過去三天的一周是1998年但是,如果getFirstDayOfWeek()是SUNDAY,則1998年第1周從1998年1月4日開始,到1998年1月10日結束; 1998年的前三天是1997年第53周的一部分,其一周是1997年。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM