【发布时间】:2018-01-07 04:40:18
【问题描述】:
我正在使用 Velocity(集成在我们公司的软件中)对电子邮件模板进行编码,但是我正在努力寻找上述解决方案。
该软件将策略开始日期存储为 ${POLSDATE} 变量,但是我需要能够在该日期上添加 14 天,我尝试了以下方法(以及其他几种变体):
#set ($rendate_14 = $date.toCalendar(${POLSDATE}))
$rendate_14.add(5,14)
"$rendate_14" 没有添加打印一个逗号分隔的数据数组(本例中的日期是 01/08/17):
java.util.GregorianCalendar[time=1501585201000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/London",offset=0,dstSavings=3600000 ,useDaylight=true,transitions=242,lastRule=java.util.SimpleTimeZone[id=Europe/London,offset=0,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=- 1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA =1,YEAR=2017,MONTH=7,WEEK_OF_YEAR=31,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,DAY_OF_YEAR=213,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=0,HOUR_OF_DAY=12,MINUTE=0 ,SECOND=1,MILLISECOND=0,ZONE_OFFSET=0,DST_OFFSET=3600000]
...但是添加 .add(5,14) 它根本不会打印任何信息。
有什么想法吗?
【问题讨论】:
-
我的问题是输出是“java.util ...”位而不是格式化日期,只需添加
$date.format('d MMMM yyyy',$rendate_14)(或类似名称)即可解决问题!
标签: java velocity date-formatting