Java.util.Date,Java.sql.Date,Java.sql.Time和Java.sql.Timestamp的区别和转换

本文详细介绍了Java中不同日期类型(Java.util.Date, Java.sql.Date, Java.sql.Timestamp)的应用场景及相互转换方法,并提供了具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1.Java.util.Date,Java.sql.DateJava.sql.Timestamp的关系和区别:

针对不同的数据库选用不同的日期类型

  1. OracleDate类型,只需要年月日,选择使用java.sql.Date类型

  2. MSSqlserver数据库的DateTime类型,需要年月日时分秒,选择java.sql.Timestamp类型

  3. OracleDate类型,需要年月日时分秒,选择java.sql.Timestamp类型

2.String转换时间格式

         转换方式:String  è  Java.util.Date  è Java.sql.Date,Time,Timestamp

       注:String要转换成sql.Date的时间类型,都需要先转换成Java.util.Date,然后再转换成所需类型

 

      2.1 String转换Java.util.Date:

                通过SimpleDateFormat进行转换,Sample:

       String str= "2013-01-14";  

SimpleDateFormat sdf = newSimpleDateFormat("yyyy-MM-dd");  

Date date =null;  

try {    

date =sdf.parse(str);

} catch(ParseException e) {  

 

e.printStackTrace();  

 

}  

             

              :如果Month Short month strings,例如:Feb格式时,可以通过设定simpleDateFormatlocale,如java.util.Locale.us

                     SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyyHH:mm:ss",Locale.US);

      2.2Java.util.Date è  String

                   通过SimpleDateFormat转换指定格式String

              SimpleDateFormat df = newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 

String dateString = df.format(newDate());// new Date()为获取当前系统时间 

2.3 Java.util.Date è Java.Sql.Date,Java.Sql.Timestamp,Java.sql.Time

                   String orderdateFrom =” 01-May-201716:30:51”;

SimpleDateFormat format = newSimpleDateFormat("dd-MMM-yyyy HH:mm:ss",Locale.US);

       Java.sql.Date timeDate = null;

             

       Java.util.Date parseDate =format.parse(orderdateFrom);

Java.sql.Date timeDate = newJava.sql.Date(parseDate.getTime());

       

Java.sql.Timestamp orderDateFrom = newJava.sql.Timestamp(parseDate.getTime());

             

Java.sql.Time orderDatetime = newJava.sql.Time(parseDate.getTime());

                  

  附录:SimpleDateFormat函数语法(注意大小写)
         G
年代标志符
         y

         M

         d

         h
在上午或下午 (1~12)
         H
在一天中 (0~23)
         m

         s

         S
毫秒
         E
星期
         D
一年中的第几天
         F
一月中第几个星期几
         w
一年中第几个星期
         W
一月中第几个星期
         a
上午 / 下午 标记符
         k
在一天中 (1~24)
         K
在上午或下午 (0~11)
         z
时区

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值