数据库为sql server 2000,要插入的字段名字为rq,字段类型是datetime(8),我从页面得到的字符串格式是:
“2008-10-10 10:10:10”,
现在我要把这个字符串插入到数据库中,我是这样做的,
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.English);
Date datetime=df.parse("2008-10-10 10:10:10");
java.sql.Date date=new java.sql.Date(datetime.getTime());
然后使用
String sql="insert into table_name(rq) values('"+date+"')";
插入数据库,可是查询数据库得到的却是:
2008-10-10 00:00:00.0,请问为什么后面的时分秒会变成了全是0的,请教一下各位大侠是什么原因,
另外最重要的是帮我修改一下看看怎么转换才能插进去使时分秒不变成全为0,而是实际的时间。
“2008-10-10 10:10:10”,
现在我要把这个字符串插入到数据库中,我是这样做的,
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.English);
Date datetime=df.parse("2008-10-10 10:10:10");
java.sql.Date date=new java.sql.Date(datetime.getTime());
然后使用
String sql="insert into table_name(rq) values('"+date+"')";
插入数据库,可是查询数据库得到的却是:
2008-10-10 00:00:00.0,请问为什么后面的时分秒会变成了全是0的,请教一下各位大侠是什么原因,
另外最重要的是帮我修改一下看看怎么转换才能插进去使时分秒不变成全为0,而是实际的时间。
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ENGLISH);
try {
Date datetime = df.parse("2008-10-10 10:10:10");
java.sql.Date date=new java.sql.Date(datetime.getTime());
System.out.println(datetime);
System.out.println(datetime.getTime());
System.out.println("" + date);
} catch (ParseException e) {
e.printStackTrace();
}
打印结果如果:Fri Oct 10 10:10:10 CST 2008
1223604610000
2008-10-10
可见在由java.util.Date转换成java.sql.Date类型时有问题
使用java.sql.Date只有年月日的,日期部分丢失了
String sql="insert into table_name(rq) values('2008-10-10 10:10:10')";