我想在我的网站上提供始终在当月的第一天和最后一天开始和结束的促销活动。
获得本月的第一天是微不足道的(它始终是第一天),但我也希望在本月的最后一天也这样做。
在the docs中,它提到您可以使用Date :: Manip或Date :: Calc,但根据这些文档,我不清楚实现此目的的最佳方法。
在Template Toolkit中显示当月最后一天的最佳方法是什么?
答案 0 :(得分:0)
我的工作方式基本上是通过模板工具包插件加载Date :: Calc模块。然后我将“last_day”设置为该月的天数。
Days_in_Month调用需要日期和月份(处理闰年),所以我传递了日期格式的结果。
This is the doc containing the format for dates,这是我获得%m。
的地方[%
calc = date.calc;
last_day = calc.Days_in_Month(date.format(date.now(), "%Y"), date.format(date.now(), "%m"));
%]
因此,要显示在当月开始和结束的月/日范围,我会这样做:
[% date.format(date.now(), "%m/01") %] - [% date.format(date.now(), "%m/") %][% last_day %]
...因为这个月的最后一天总是两位数,所以不需要用零填充它。
确保安装Date :: Calc模块。如果您拥有它,Template Toolkit将加载它。