[英]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.