oracle中date类型!!!

oracle中date类型的解决方法

2008-02-22 11:53 足球10号 | 分类:其他编程语言 | 浏览11181次
我在类中开始声明的是java.util.date类型. 
可是从oracle中读取的数据赋值给这个类中的date类型的时候,出现了一个异常.异常的名字有点忘了好像是simpl*****....好像就是说数据库中读取和类中的不一样.好像是因为yyyy   mm   dd   ssssss像是这样的一个错误.我用2种方式能解决.1是在sql语句中用to_date(yyyy-mm-dd).还有就是类中date.导入不是util而是sql中的date包.可是这个对我插入数据是date类型,还有全部数据的时候有异常出来. 
不知道有谁对这样的问题有经验....
提问者采纳
2008-02-22 12:01
相互转换
1. 使用getTime()函数
这两个类都提供了getTime()函数,用于返回对应的毫秒数(long类型)。利用这个函数可以实现转换:
     java.util.Date utilDate = new java.util.Date(sqlDate.getTime());    // sql -> util
     java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());    // util -> sql

2. 使用SimpleDateFormat类实现转换
SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。
SimpleDateFormat dateFormat = new SimpleDateFormate("yyyy-MM-dd HH:mm:ss");
java.util.Date utilDate = dateFormat.parse(sqlDate.toString());

3. 直接转换
由于java.sql.Date是从java.util.Date中继承过来的,所以可以直接用:
utilDate = sqlDate;

4. 另类获得日期的方法:
SimpleDateFormat sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);

ps: java.util.Date类中的getYear()要加上1900才可得到实际值,getMonth()则要加上1
 
   
或者

public static void main(String[] args)

  {

  DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

  try

  {

  Date today = df.parse("20/12/2009");

  System.out.println("Today = " + df.format(today));

  } catch (ParseException e)

  {

  e.printStackTrace();

  }

  }

 
   
 
   
 
   
但我用了各种方法 与setdate总是冲突 我怀疑可能之前的写错了 但也找不到改的 后来发现个简单的方法
 
   
:::::::::

首先从页面中获得string类型的时间字段。我这里输入的是1998-9-8格式。 

String birth = request.getParameter("birth");

然后存入数据库的方法写法如下:

String sql="insert into UHMS_YG  (birth) values (to_date('"+yb.getBirthday()+"','yyyy-MM-dd')";

用到了oracle自带函数to_date()

顺利插入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值