作者:左手边的女2602937345 | 来源:互联网 | 2023-09-17 19:28
1.遇到的问题
数据库中的时间格式是datetime
实体类的时间类型
2.解决办法
方法一:不用修改servlet,在jsp文件的头部添加以下代码
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
在需要显示时间的位置添加以下代码
方法二:不用修改jsp文件,直接在servlet中修改时间格式
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Temperature temperature = new Temperature();
ImplTemperatureDao implTemperatureDao = new ImplTemperatureDao();
try {
//读取数据
temperature =implTemperatureDao.findTemperatureById();
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = myFmt.format(temperature.getTime());
response.setContentType("text/html;charset=utf-8");
response.getWriter().write(time);
} catch (SQLException e) {
e.printStackTrace();
}
}
jsp文件源码:
<%@ page language="java" cOntentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
数据库获取的时间:
这样显示的时间是:
总结:
原因:java时间字段是date类型的(util),mysql数据库字段类型是datetime。
两种方法都能够解决从数据库读取时间时,时间参数后多了一个.0的问题,用哪一个自己可选。