java.util.Date和java.sql.Date相互转换问题

java.util.Date和java.sql.Date相互转换问题
我想将util中的Date转换成sql中的Date,这样来转换
java.sql.Date ds=new java.sql.Date(new java.util.Date().getTime())
但只输出了年月日,我想输出这样的格式的:yyyy-MM-dd hh:mm:ss
要怎样写呢?
还有,怎样让数据库中显示的日期是:yyyy-MM-dd hh:mm:ss格式呢?我通过上面的转换后写入数据库,在数据库中显示的结果为是:yyyy-MM-dd 00:00:00,是mysql数据库,字段类型为:datetime
我要的是这样的啊:2008-12-27 18:28:36
date.getHours()的方岁前法已经过时,编译器会发出警告,不建议这么做。
java.sql.Date没有直接显示hh:mm:ss的方法凯雀搏(除过时方法);
有一种比较麻烦的方法可以实现你的要求。

java.sql.Date b = new java.sql.Date(new java.util.Date().getTime());
java.util.Date c = new java.util.Date(b.getTime());
System.out.println(b+" "+c.toString().split(" ")[3]);
希望盯祥对你有帮助
Java里面所有的时铅漏间都是按毫秒算的

都有个getTime()得到从以下那个时间到现在的毫辩激唤秒数
在中国都是从1970/01/01 08:00:00.000开始算

你说携凯的格式输出的话可以用DateFormat

DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String date = format.format(new java.util.Date());

System.out.println(date);
不要.getTime()吧,可以直和旅败接通过唤颤类型转换或者直接创建java.sql.Date对象,镇运楼主试一下。
一楼的方法不推荐使用
你使用什么往困吵芦数据库中插值呢
jdbc还是hibernate

jdbc的话你的sql语句中插入datetime 的格式就因该是yyyy-MM-dd hh:mm:ss。
你还得不ava.sql.Date用SimpleDateFormat转成yyyy-MM-dd hh:mm:ss格碰孙式的string再付给sql的datetime字段。

hibernate的话直接set po类就是汪带最精确地时间了
Date date=new Date();
int tt=date.getHours();
其他的类似

修改,上面的这种做法不推余余没荐使用
package test;

import java.util.*;

public class Tst {

public static void main(String[] args) {
GregorianCalendar gc=new GregorianCalendar();
String now=gc.get(Calendar.YEAR)+"-"+(gc.get(Calendar.MONTH)+1)+"-"+gc.get(Calendar.DATE)+" "
+gc.get(Calendar.HOUR)+":"竖纳+gc.get(Calendar.MINUTE)+":"+gc.get(Calendar.SECOND);
System.out.println(now);

}

}
建议楼主采用拼写字符串的形式,就毁改是向数据库插入一条字符串。
← 上一篇: 下一篇: →