1. 程式人生 > >Java前後端的時間格式轉換

Java前後端的時間格式轉換

在web專案中,前後端的資料型別不一致也是一個很常見的問題,最典型的莫過於時間格式的轉換了,前端的時間展示一般是一個字串型別(String),但是後端的時間型別則一般為日期型別(Date),在前端與後端互動的過程中,經常會涉及到String型別和Date型別的相互轉換,現將兩者之間的相互轉換做一個小結:

前端->後端 一般就是字串轉日期型別,其常用方式為添加註解@InitBinder來實現不同型別物件的轉換:

在controller中加入如下程式碼:

@InitBinder  
public void initBinder(WebDataBinder binder) {  
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");  
    dateFormat.setLenient(false);  
    binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));  
}

則在前端傳入yyyy-MM-dd格式的字串時,系統會自動將其轉換為Date型別的物件。這可以實現String->Date的轉換。

後端->前端

與前端到後端一般是字串轉日期型別相反,後端到前端則是日期型別轉字串型別,其常用的方式是在jsp頁面引入標籤

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

然後對需要轉換的欄位採用fmt標籤格式化,如時間輸入框往往需要對後端傳過來的日期型別進行格式化

<input type="text"  id = "startDate" name="startDate" value = "<fmt:formatDate value="${searchVO.startDate}" pattern="yyyy-MM-dd" />"   >


這樣就完成了Date->String型別的格式轉換。