首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

把字符类型转换成时间门类

2012-08-30 
把字符类型转换成时间类型String str 2007-12-07Date date java.sql.Date.valueOf(str)System.out

把字符类型转换成时间类型
String str = "2007-12-07";
Date date = java.sql.Date.valueOf(str);
System.out.println("Data: " + date);

使用java.sql中的Date类,注意输入的的格式是xxxx-xx-xx,否则会报错,
这样会把输入的字符串转换为数据库中的datatime类型,读取时,将datatime转化成String类型,方法为.toString(),显示的时间格式为xxxx-xx-xx
从查询的结果集中获得时间类型时如果用getString(1)的话就会将时间的分秒显示出来,如果用getData(1)的话,就只会显示日期。要注意,在数据库中时间类型是从过去的某一时间开始的,在填写时不要故意超过这个时间,否则会出错。



对与数据库中的时间可以保存为datetime类型,也可以保存为字符类型,插入时间,可以是人为输入的,也可以是获取的系统时间,
如果数据库中的时间类型是datetime类型的话,需要将时间格式化(util包中的时间需要转化为数据库中的时间),具体的有下面一些。

//使用util包中的Date()获取系统时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String date1=df.format(new Date());// new Date()为获取当前系统时间
java.sql.Date date=java.sql.Date.valueOf(date1)//将格式化后的字符转化成数据库中的Date()类型


//用Calendar获取系统时间
Calendar cal=new GregorianCalendar();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");java.sql.Date date1=java.sql.Date.valueOf(df.format(cal.getTime()));//将格式化后的字符转化成数据库中的Date()类型



如果是输入的格式为xxxx-xx-xx的时间,则进行下面操作
String time=req.getParameter();
java.sql.Date date1=java.sql.Date.valueOf(time);



如果数据库中存的是字符类型:
则的到的字符不用转化为数据库的date类型,用SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");将时间格式化相应格式就行




另外,在将java.util中时间类型 转化成java.sql中的时间类型时,有三种方法:
java.sql.Date date=java.sql.Date.valueOf(date1)//date1是字符类型,将util中时间格式化得到的(格式必须为xxxx-xx-xx)转化为年月日

java.sql.Time date=java.sql.Time.valueOf(date1)//date1是字符类型,将util中时间格式化得到的(格式必须为xx-xx-xx)转化为时分秒

java.sql.Timestamp date=java.sql.Timestamp.valueOf(date1)//date1是字符类型,将util中时间格式化得到的(格式必须为xxxx-xx-xx xx-xx-xx)转化为年月日时分秒
不懂得花可以查看j2se的api

热点排行