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

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
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值