一般数据库中时间的格式为DATE类型,而我们从页面中获取的时间往往为String类型,这个就需要类型的转换。一般我们会通过调用java.text.SimpleDateFormat JAVA类来对其进行转换。这个JAVA类中我们经常用到的方法有两个,一个是format(将时间格式的数据转换成String类型),另一个就是parse(将String类型转换成DATE类型)。我们一般可以将parse封装到自己的方法中,例:
/** * 方法描述:页面中字符串转化为日期类型 * * 输入参数:从页面中得到的以字符串形式表示的日期数据 * 输出参数:转换后的日期 */ Public class TimeExh{ public static Date transToDate(String strDateFromPage) { Date date = null; //此处为yyyy-MM-dd 则为2005-1-13 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //建立一个一定格式的 SimpleDateFormat if(strDateFromPage==null) { return new Date(); } if (strDateFromPage.length()>10) { sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //此处时间方式为2005-1-13 20:00:12 } try { date = sdf.parse(strDateFromPage); } catch (Exception ex) { ex.printStackTrace(); } return date; } } |
在Oracle数据库中提供了to_date的方法来对String类型的时间来进行转换。而在Oracle数据库中不能将时间直接放到VO中传给数据库,这样数据库中的时间为格林氏时间,不符合中国人的时间习惯。所以在这里有两中不同的处理方式进行处理。