我使用的是sql server2008做的是一个实验课程预约系统,当学生提交预约请求,就用new Date()得到当前时间,然后存到数据库中的 预约时间statusTime字段中,字段类型为datetime因为new Date()为java.util.Date 所以存数据数据库要转换成java.sql.Date java.sql.Date d = new java.sql.Date(这里从请求对象中,拿到时间,然后getTime())这样存到数据库中。问题是,数据库中日期都有,但是时间都变成0了。没有时间。谢谢。
解决方案 »
- 求助:ClassNotFoundException: com.mysql.jdbc.Dirver
- Map<String, Object> paras = (Map<String, Object>) request
- struts2 数字显示问题
- 访问webservice ,代码里面有,call.setOperationName(new QName("","CreateBusinessData"));setOperationName是什么意思
- ibatis 框架 批量添加的写法
- 初学SERVLET的顿悟,各位大大给指点一下偶的理解对不对
- resin的连接池会自已挂掉?是这样的吗?
- java 程序格式应该是什么??
- tomcat过一段时间就报spring的错:BeanFactory not initialized or already closed - call 'refr
- 求助java.sql.SQLException问题
- 常用的工作流都有那几个,高手推荐几个,最近要用。
- Message box 与User 数据库关系
1.在hibernate时面是这样的:
<hibernate-mapping package="com.lovo.po" >
<class name="Po" table="t_po">
<id name="id" type="integer">
<column name="t_id" />
<generator class="native" />
</id>
<property name="date" type="timestamp"><!--注意这里是timestamp-->
<column name="t_date"/>
</property>
</class>
</hibernate-mapping>
2.在sqlserver里字段为datetime
3.我们通过new Date()就可以保存(年月日,时分秒)了.---注意new Date()是java.util下面的.
我没有用到hibernate,这样如何解决?
- -。你说说 怎么formate
我就算这样搞的
虽然是很菜的方法 但是有点实用
对应的jdbc方法是 getTimestamp()和setTimestamp()
timestamp可以用date.getTime()来做
java.sql.Date sqlDate = new java.sql.Date(
utilDate.getTime());这样再用jdbc插入是没有问题的,我试过。能保存到时间。
import java.sql.Timestamp;//时间类
public class SysDate
extends Timestamp
{
public SysDate()
{
super(0L);
}
}
// 每次插入时 直接new SysDate()就行了
然后读出的时候转一下,这样保存的精确。
* millisecond values wrapped by a java.sql.Date instance
* must be 'normalized' by setting the
* hours, minutes, seconds, and milliseconds to zero in the particular
* time zone with which the instance is associated.java.sql.Date 确实是没有时分秒的。楼上所说java.sql.Timestamp,比较靠普
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = sdf.parse(str);
java.sql.Timestamp sqlDate = new java.sql.Timestamp(date.getTime());
db.setDate1(sqlDate);