freemarker函数功能的使用之时间处理
2016-07-17 09:19
399 查看
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>
freemarker前台功能实际调用:
<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>
如图所示:
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>
freemarker前台功能实际调用:
<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>
如图所示:
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树