前台时间显示格式不正确
如图:
这个情况是因为数据库(我当时用的是mysql)存储时间的数据类型是datetime,而后台接收的数据类型是String。
这个涉及到了datetime与String之间的转换
以下为例:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//查看某一个用户的详细信息
public UserBean getLookOneUser(int id) {
// 根据参数 id 在数据库中进行查询
UserBean ub = null; //这个需要创建在try外面,要不然下面返回时候找不到,先给null这样方便以后的返回
String sql = "select * from usertable where id = "+id;
try {
ResultSet rs = jt.select(sql);
while(rs.next()){
ub = new UserBean();
ub.setId(rs.getInt(1));
ub.setName(rs.getString(2));
ub.setAge(rs.getInt(3));
ub.setSex(rs.getInt(4));
ub.setBirthday(formatter.format(rs.getDate(5)));
ub.setPs(rs.getString(6));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
jt.guanBi();
}
return ub;
}
这样运行后前台时间格式显示的就正确了
//String转换为java.util.Date
String str = "2013-01-14 12:15:13";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null; //初始化date
try {
date = sdf.parse(str); //Mon Jan 14 00:00:00 CST 2013
} catch (ParseException e) {
e.printStackTrace();
}
//Date转换为String
Date date = new Date();
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String str = format.format(date); //2013-01-14