哈哈,不可能吧,其实很简单啊,日期格式在数据库中就要用日期格式存放。 假如你取得了六个数据 year month day hour min sec Date d=new Date() d.setYear() d.setMonth()...... 之后插入到数据库中 驱除的时候用to_char(youtimefield,'yyyy-mm-dd hh:mm:ss')的形式就应该没有问题 至于Data.parseDate());我用过的,好象问题很大,无论如何就是无法转化
我这里没有Oracle数据库 代码很简单 int year=2002; int month=10; int day=20; int hour30; int min=40; int sec=50; Date d=new Date(); d.setYear(year); d.setMonth(month); d.setDate(day); d.setMinutes(min); d.setSeconds(sec); System.out.println(d); 当然数据库的那部分没有写,你只要用日期的形式插入,如果比较的话就用to_char(youtimefield,'yyyy-mm-dd hh:mm:ss')进行比较例如 to_char(youtimefield,'yyyy-mm-dd hh:mm:ss')>'2002-10-01 12:10:50'就没有问题的。
假如你取得了六个数据
year
month
day
hour
min
sec
Date d=new Date()
d.setYear()
d.setMonth()......
之后插入到数据库中
驱除的时候用to_char(youtimefield,'yyyy-mm-dd hh:mm:ss')的形式就应该没有问题
至于Data.parseDate());我用过的,好象问题很大,无论如何就是无法转化
用to_char(datetime,'yyyy/mm/dd hh:mm:ss')取出数据。
“yyyy-MM-dd kk:mm:ss”
如时间字符串为:String aDate = "2002-12-01 10:22:20";
java中对应数据库中的年月日时分秒的class是java.sql.Timestamp。
java.sql.Date不行,只有年月日,java.sql.Time也不行,只有时分秒,
而java.util.Date虽然是有年月日时分秒,但并非数据库支持的对象。
所以,得到时间string后,做个转换成java.sql.Timestamp对象即可,
调用函数如下:
/**
* 作者:alphazhao
* 日期:2002-5-27
* 描述:将一个类型为"yyyy-MM-dd kk:mm:ss"的字符串转换为一个系统日期
* 因转换日期为util.Date类型,无法插入数据库,需改为Timestamp类型
* 注意时间字符串格式
* */
public class StringToDate {
public final static java.sql.Timestamp string2Date(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//util类型
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型
return dateTime;
}
}至于读取数据,就不用我详细说了吧?
另外,oracle用varchar对象来存放时间对象肯定是不行的,在实际项目中肯定会出大问题,比如客户按时间查询统计等……
代码很简单
int year=2002;
int month=10;
int day=20;
int hour30;
int min=40;
int sec=50;
Date d=new Date();
d.setYear(year);
d.setMonth(month);
d.setDate(day);
d.setMinutes(min);
d.setSeconds(sec);
System.out.println(d);
当然数据库的那部分没有写,你只要用日期的形式插入,如果比较的话就用to_char(youtimefield,'yyyy-mm-dd hh:mm:ss')进行比较例如
to_char(youtimefield,'yyyy-mm-dd hh:mm:ss')>'2002-10-01 12:10:50'就没有问题的。
String ?Date? TimeStamp?
如果是String 类型的,是不是要写成myFormat格式的啊?至于显示吗,我用了to_char(),所以最后得用myDate=rs.getString() 来做,估计就是这里出的问题,当我把myDate分析出来然后送入一个Date对象以后,就发现内容变了.我想也许真的如斑竹说的那样sql不支持java.util.Date吧.快要结帖了,再次表示对大家的感谢.
一个习惯问题,在您设计的那个小程序里面,为什么要throws Exception而不是在程序里面自己解决呢?经验问题,请赐教!!!!
'YYY'、'YY'、'Y', 得到年的最后三位,两位,一位
syear, year,得到当前年,公元前的年加上负号
q,当前季度
MM,当前月
RM,罗马数字表示月
Month,9个字符表示月
WW,当年的几周
W,本月第几周
DDD,当年第几天
DD,当月第几天
D,周内第几天
DY,周内第几天缩写
HH、HH12,12进制小时数
HH24,24小时制
MI,分钟数(0~59)
SS,秒数(0~59)
一个习惯问题,在您设计的那个小程序里面,为什么要throws Exception而不是在程序里面自己解决呢?我那个class是写给其它class调用的,因为系统架构问题,所有的异常必须捕捉并判断是何种异常,其实我已经将异常改动了……:-(
一般系统而言,我采用在最外层那个java文件或bean里面实现错误捕捉及处理。
如果在每个被调用的class里面就处理的话,只能在系统后台输出信息,而无法将错误返回外层,对调试阿什么的就不方便了……