今天主要讲的内容是Java中时间类型的转换问题。由于在Java中的时间是java.util.Date类型,而数据库的时间却是Java.sql.Date类型。所以,不能直接获取时间,要通过转换时间格式。那么在Java中又是如何转换时间格式的呢?下面是我以bsgrid表格查询数据为列,跟大家讲解时间类型的转换问题。
Servlet代码
public void Selectbasicinfor(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取订单ID
String currentPageStr=request.getParameter("curPage");
String pageSizeStr=request.getParameter("pageSize");
int currentPage=1;
int pageSize=5;
if (currentPageStr!=null && Tools.isNum(currentPageStr)) {
currentPage=Integer.parseInt(currentPageStr);
}
if (pageSizeStr!=null &&Tools.isNum(pageSizeStr)) {
pageSize=Integer.parseInt(pageSizeStr);
}
int IndentID=(Integer) request.getSession().getAttribute("IndentID");
int startIndex=(currentPage-1)*pageSize;
IndentService indentService= new IndentServiceImpI();
List<Indentinquire> listUser = indentService.selectAll(startIndex,pageSize,IndentID);//查询信息
int totalRow=indentService.selectAllTotalRow(startIndex,pageSize,IndentID);//查询总行数
Bsgrid<Indentinquire> bsgrid=new Bsgrid<Indentinquire>();
bsgrid.setSuccess(true);
bsgrid.setCurPage(currentPage);
bsgrid.setTotalRows(totalRow);
bsgrid.setData(listUser);
response.setContentType("text/json");
response.setCharacterEncoding("utf-8");
JSONObject jsonObject=JSONObject.fromObject(bsgrid);
PrintWriter out=response.getWriter();
out.write(jsonObject.toString());
out.flush();
out.close();
}
Po代码(重点代码)
public class Indentinquire implements Serializable{
private Date FlightDate; // 航班日期
private Date DepartTime; //航班的起飞时间
private Date ReachTime; //航班的到达时间
public String getDepartTime() {
if(DepartTime!=null){
SimpleDateFormat DepartTimenew= new SimpleDateFormat("HH:mm");//设置返回格式
return DepartTimenew.format(DepartTime);
}else{
return null;
}
}
public String getReachTime() {
if(ReachTime!=null){ //判断一下返回的值是否为空
SimpleDateFormat ReachTimenew= new SimpleDateFormat("HH:mm");
return ReachTimenew.format(ReachTime);
}else{
return null;
}
}
public void setDepartTime(Date departTime) {
this.DepartTime = departTime;
}
public void setReachTime(Date reachTime) {
this.ReachTime = reachTime;
}
public String getFlightDate() {
if(FlightDate!=null){
SimpleDateFormat FlightDatenew= new SimpleDateFormat("yyyy-MM-dd");
return FlightDatenew.format(FlightDate);
}else{
return null;
}
}
public void setFlightDate(Date flightDate) {
this.FlightDate = flightDate;
}
}
DaoImpl代码(重点代码)
public List<Indentinquire> selectAll(int pageSize,int curPage,int IndentID) {
String sql="select *from(select Best_AirLine.DepartC,Best_AirLine.ReachCity,Best_AirLine. FlightDate,Best_AirLine.AirBus,Best_AirLine.CabinClass,Best_AirLine.DepartTime,Best_AirLine.ReachTime from Best_AirLine where Best_AirLine. IndentID=?) as total ORDER BY total. FlightDate OFFSET ? ROWS FETCH NEXT ? ROWS ONLY";
List<Indentinquire> list = new ArrayList<Indentinquire>();
Indentinquire BasicInfor = null;
try {
con = DbUtil.getConnection();
ps = con.prepareStatement(sql);
ps.setInt(1, IndentID);
ps.setInt(2, pageSize);
ps.setInt(3, curPage);
rs = ps.executeQuery();
while(rs.next()){
BasicInfor=new Indentinquire();
BasicInfor.setAirBus(rs.getString("AirBus"));//航班号
BasicInfor.setCabinClass(rs.getString("CabinClass"));//舱位等级
BasicInfor.setDepartC(rs.getString("DepartC").trim());//出发地点
BasicInfor.setReachCity(rs.getString("ReachCity").trim());//到达地点
BasicInfor.setFlightDate(new Date(rs.getDate("FlightDate").getTime()));//航班日期
BasicInfor.setDepartTime(new Date(rs.getTime("DepartTime").getTime()));//出发时间
BasicInfor.setReachTime(new Date(rs.getTime("ReachTime").getTime()));//到达时间
list.add(BasicInfor);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtil.close(con, ps, rs);
}
return list;
}