------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
第一种情况:当数据库中时间格式是long型
此种格式应该设置model格式和数据库中格式保持一致,
首先获取数据:
在java中获取数据,存入数据库
通过Date date=new Date();来获取当前时间,通过date.getTime()来获取毫秒数,用long型数据接收数据。将d封装model后插入数据库.
在jsp中获取数据,存入数据库
通过s=request.getParameter(“time”);来获取用户输入的时间,此时获取的数据是一个字符串,格式应该是“yyyy-mm-dd”,应该将此格式变为long型,方法如下:
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”);
Java.util.Date d=sdf.parse(s);//将字符串变为日期
Long l=d.getTime();将d封装model后插入数据库
从数据库中取出数据,并显示到jsp界面
此时取出的数据用model来接受,为long型,通过以下方法:
Long l=”数据库中的数据”;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String s=sdf.format(l);//将long型数据变为字符串格式日期
此时就可以把s输出到jsp界面中。
第二种情况:当数据库中时间格式是Date型
在java中获取数据,并且存入数据库
此时model类型也应该和数据库中对应起来,只是Date包不同
一般是Date d=new Date();
将d封装到model中,插入数据库之前,需要一步强制转换即:
java.util.Date ud= new Date();
java.sql.Date sd= new java.sql.Date(ud.getTime());将sd插入数据库
在jsp中获取数据,并且存入数据库
通过s=request.getParameter(“time”);来获取用户输入的时间,此时获取的数据是一个字符串,格式应该是“yyyy-mm-dd”,将s转为日期,具体如下:
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM -dd”);
Java.util.Date ud=sdf.parse(s);
可以先把ud封装
在转换:java.sql.Date sd= new java.sql.Date(ud.getTime());
将sd插入到数据库
从数据库中获取数据并显示在jsp中
此时获取的数据格式是java.sql.Date sd
第一步:先将格式转换:
Java.util.Date ud=new java.util.Date(获取的数据);
在把ud封装到model,
此时在把日期转为字符串
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
String strdate=dateformat.format(ud);
把strDate输出即可
第三种情况:当数据库中时间类型是String型
在java中获取数据,并且存入数据库
此时model类型也应该和数据库中对应起来,
一般是Date d=new Date();
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-mm-dd");
String strdate=dateformat.format(d);
把strdate封装之后
将strdate插入数据库
在jsp中获取数据,并且存入数据库
通过s=request.getParameter(“time”);来获取用户输入的时间,此时获取的数据是一个字符串,
直接可以先把s封装
直接插入到数据库
从数据库中获取数据并显示在jsp中
此时获取的数据格式是字符串
可以直接显示
获取格林威治时间格式
Calendar c=Calendar.getInstance();
String year=c.get(Calenda.YEAE)
String month=c.get(Calenda.MONTH)+1
总结
具体情况具体分析
如果按区间查询的话,最好是long型。
如果是一般的操作,为Date型