您的位置:首页 > 数据库

date和calendar对象的转化,使用,以及插入数据库中的总结

2012-09-24 12:04 447 查看
在java中date对象也可以精确到秒,但是date对象无法操作年月日。calendar对象可以使用date对象中所有的方法,所以在java中不建议使用date对象而统一使用calendar对象,

java.util.Date now=java.util.Date()获得java中的当前时间,Date类实现了tostring方法。但是Date类对象插入数据库中时必须先转化为java.sql.Date类对象才能插入成功,但是插入数据库中后在数据库中保存的是年月日,只能保存到日期不能使用时间。要想保存的时间精确到秒必须使用java.sql.Timestamp类存储date对象。

java.sql.Timestamp date=java.sql.Timestamp(now.getTime());获得当前时间并保存到数据库中。

使用calendar对象也可以获得当前时间 Calendar now=new Calendar();通过calendar对象中定义的常量来获得对象中的时间int month=now.get(Calendar.MONTH);

int weekday=now.get(Calendar.DAY_OF_WEEK);calendar对象可以设置年月份调用方法set(year,month,day);

Date 和Calendar对象的转化:

Calendar类所拥有的getTime()和setTime()方法分别用来获取和设置日历对象所表示的时间点

Date time=calender.getTime();

calender.setTime(Date time);

这些方法在进行calendar和date对象转化时非常有用。假如已知年月日希望创建一个date对象,但是date类不知道如何操作日历所以必须首先创建一个calendar对象然后调用getTime()方法获得Date对象,

Calendar calendar=new Calendar(year,month,day);

Date date=calendar.getTime();

然后插入数据库中:

java.sql.Timestamp date1=new java.sql.Timestamp(date.getTime());

pstm.setTimestamp(index,date1);

pstm.executeUpdate();

baseDao.closeAll(rs,pstm,conn);

这样就完成将自定义的时间插入数据库中,不仅仅局限于可以在数据库中插入当前时间啦。

如何希望获得date对象中的年月日信息,必须先构造calendar对象然后调用calendar对象中的获得时间的方法

Calendar calendar=new Calendar();

calendar.setTime(Date date);

int year=calendar.get(Calendar.YEAR);

int month=calendar.get(Calendar.MONTH);

int day=calendar.get(Calendar.DAY_OF_MONTH);

Calendar类中存在构造函数Calendar(year,month,day,hour,minutes,second);

另外注意Calendar对象中month取值范围为0-11所以所有的月份数加1为其对应的真正月份数

所以可以自定义时间点精确到秒后再调用getTime()方法得到java.util.Date对象然后转化为java.sql.Timestamp对象插入数据库中,这样在数据中保存的时间精确到秒,并且是自定义时间,当然对于插入当前时间不用这样复杂,可以直接获得,转化,插入即可实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐