您的位置:首页 > 数据库

日期无法正确存入数据库

2012-08-29 09:29 113 查看
遍历日期和人员的时候往数据库里添加日期出错,但是后台打印出来的日期是正确地。

代码如下:

//				遍历日期和人员
for(int i=0;i<userIdList.size();i++){
//					System.out.println("i=="+i);
for(Date start1= new Date(startDate.getTime());start1.compareTo(endDate)<=0;start1.setDate(start1.getDate()+1)){
BusinessTrip bt = new BusinessTrip();
bt.setBtId(billId);
bt.setStartDate(start1);
System.out.println("时间:"+start1+"人员编号:"+userIdList.get(i)+"人员名称:"+userNameList.get(i)
+"机构:"+groupList.get(i));
bt.setEndTime(endTime);
bt.setStartTime(startTime);
bt.setStatus(0);
bt.setMemo(memo);
bt.setTimeType(timeType);
bt.setUserId(userIdList.get(i));
bt.setUserName(userNameList.get(i));
bt.setGroupName(groupList.get(i));
baseDAO.add(bt);
BusinessTrip bt2 = (BusinessTrip)baseDAO.getBeanByID(bt.getId(), new BusinessTrip());
System.out.println(bt2.getStartDate());
}
}


这段代码 如果时间是到2012-09-11则在数据库里所有记录插入的时间都是2012-09-12 但是后台打印的时候会打印出2012-09-09,2012-09-10,2012-09-11。

修改方法如下:

//				遍历日期和人员
for(int i=0;i<userIdList.size();i++){
//					System.out.println("i=="+i);
for(Date start1= new Date(startDate.getTime());start1.compareTo(endDate)<=0;start1.setDate(start1.getDate()+1)){
BusinessTrip bt = new BusinessTrip();
bt.setBtId(billId);
Date d1 = new Date(start1.getTime());
bt.setStartDate(d1);
System.out.println("时间:"+start1+"人员编号:"+userIdList.get(i)+"人员名称:"+userNameList.get(i)
+"机构:"+groupList.get(i));
bt.setEndTime(endTime);
bt.setStartTime(startTime);
bt.setStatus(0);
bt.setMemo(memo);
bt.setTimeType(timeType);
bt.setUserId(userIdList.get(i));
bt.setUserName(userNameList.get(i));
bt.setGroupName(groupList.get(i));
baseDAO.add(bt);
BusinessTrip bt2 = (BusinessTrip)baseDAO.getBeanByID(bt.getId(), new BusinessTrip());
System.out.println(bt2.getStartDate());
}
}
这样就没事儿了,具体原因为何一直搞不清楚,如果哪位能详细解释,敬请留下解释。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐