我需要创建一个日历控件来选择出生日期。我的自定义日历控件包含用于设置minDate和maxDate的字段,可用于设置可以选择的日期范围。
我可以将当前日期变为变量并将其用作maxDate,如下所示。
<#assign dateObject=.now/>
<#assign todaysDate=dateObject?date/>
如何以类似的方式计算100年前的日期?我阅读了官方文档,找不到任何可以执行此操作的操作。
答案 0 :(得分:2)
您无意在MVC视图中计算此类内容...要显示的日期范围应来自数据模型。无论如何,你需要GregorianCalendar
算术,而FreeMarker没有内置这样的东西。但是你可以编写一个Java方法来做,然后从模板中调用它。
(.now?long - 1000 * 60 * 60 * 24 * daysBefore)?numberToDate
。这样做的问题是,如果.now
接近午夜,则可能会有重复或跳过的日期,并且该范围内的某些天会遇到夏令时更改。