freemarker函数功能的使用之时间处理
java后台功能部分:
1、格式化时间格式
public static String formatDate(Date date) {
formatter.setTimeZone(TimeZone.getDefault());
formatter.applyPattern("yyyy-MM-dd HH:mm:ss");
formatter.setLenient(false);
return adjust(formatter.format(date));
}
public static String formatDate(Date date, String patter) {
formatter.setTimeZone(TimeZone.getDefault());
formatter.applyPattern(patter);
formatter.setLenient(false);
return adjust(formatter.format(date));
}2、取得两个日期段的日期间隔
/**
* 取得两个日期段的日期间隔
*
* @param d1 日期1
* @param d2 日期2
* @return t2 与t1的间隔天数
*/
private static int getBetweenDays(Date d1, Date d2) {
if (d1 == null || d2 == null) {
return -1;
}
int betweenDays;
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// 保证第二个时间一定大于第一个时间
if (c1.after(c2)) {
c2.setTime(d1);
c1.setTime(d2);
}
int betweenYears = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR);
betweenDays = c2.get(Calendar.DAY_OF_YEAR) - c1.get(Calendar.DAY_OF_YEAR);
for (int i = 0; i < betweenYears
;
i++) {
c1.set(Calendar.YEAR, (c1.get(Calendar.YEAR) + 1));
betweenDays += c1.getMaximum(Calendar.DAY_OF_YEAR);
}
return betweenDays;
} /**
* 取得两个日期段的日期间隔
*
* @param t1 时间1
* @param t2 时间2
* @return t2 与t1的间隔天数
*/
public static int getBetweenDays(String t1, String t2) {
Date d1 = parseDate(t1);
Date d2 = parseDate(t2);
return getBetweenDays(d1, d2);
}
freemarker前台功能定义:
1、获取当前时间,格式为yyyy-MM-dd
<#function formatDate date="" pattern="yyyy-MM-dd">
<#if date?is_date>
<#return statics["com.dm.core.util.DateUtil"].formatDate(date,pattern)/>
<#else>
<#return ""/>
</#if>
</#function>
2、取得两个日期段的日期间隔
<#function getBetweenDays date1="" date2="">
<#return statics["com.dm.core.util.DateUtil"].getBetweenDays(date1,date2)/>
</#function>
<li style="list-style-type:circle;color:#000000; margin-left:20px;">
<span style="display:block;height:24px;float:right;color:blue;">[<@dateMonthOut item.wa_postdate/>
]</span>
<span class="news_title">
<a href="${path}/web/article_newsViewA.do?wa_id=${(item.wa_id)!}"
target="_blank">${ellipsis(item.wa_title,28)}</a>
<#if getBetweenDays(formatDate(item.wa_postdate),getNow("yyyy-MM-dd"))<=3>
<img src="${path}/website/images/newnail.png"/>
</#if>
</span>
</li>