Java前後端的時間格式轉換
阿新 • • 發佈:2019-02-02
在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型別的格式轉換。