时间类型的转换

本文详细介绍了Java中时间类型的转换方法,特别是在从数据库查询时,如何将Java.sql.Date转换为Java.util.Date,并通过实例展示了如何在Java代码中正确地进行时间格式化。

  今天主要讲的内容是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;
	}

输出结果如图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值