`

Java.sql.date 与 java.util.date的转化(一)

    博客分类:
  • jdk
阅读更多
Java.sql.date 与 java.util.date
java.util.Date 就是在除了SQL语句的情况下面使用
java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分

它都有getTime方法返回毫秒数,自然就可以直接构建
java.util.Date d = new java.util.Date(sqlDate.getTime());

java.util.Date 是 java.sql.Date 的父类(注意拼写)


前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他

后者之后在读写数据库的时候用他,因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第
2个参数都是java.sql.Date

转换是
java.sql.Date date=new java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());

反过来是一样的

继承关系:java.lang.Object -> java.util.Date -> java.sql.Date

具体的转换关系就是java.util.Date d=new java.util.Date (new Java.sql.Date());



SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

java.util.Date utilDate=new Date();      

java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());  

     

java.sql.Time sTime=new java.sql.Time(utilDate.getTime());

      

java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());

            

System.out.println(utilDate.getYear());



这里所有时间日期都可以被SimpleDateFormat格式化format()

f.format(stp);f.format(sTime);f.format(sqlDate);f.format(utilDate)

java.sql.Date sqlDate=java.sql.Date.valueOf("2005-12-12");

utilDate=new java.util.Date(sqlDate.getTime());





另类取得年月日的方法:

import java.text.SimpleDateFormat;

import java.util.*;

java.util.Date date = new java.util.Date();

//如果希望得到YYYYMMDD的格式SimpleDateFormat 

sy1=new SimpleDateFormat("yyyyMMDD");

String dateFormat=sy1.format(date);

//如果希望分开得到年,月,日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);



//End
 
 

Java日期操作常用方法

先来一个:  

取得指定月份的第一天与取得指定月份的最后一天  



              /**  

                *         取得指定月份的第一天  

                *  

                *         @param         strdate         String  

                *         @return         String  

                */  

              public         String         getMonthBegin(String        
 strdate)  

              {  

                      java.util.Date         date         =         
parseFormatDate(strdate);  

                      return         
formatDateByFormat(date,"yyyy-MM")         +         "-01";  

              }  



              /**  

                *         取得指定月份的最后一天  

                *  

                *         @param         strdate         String  

                *         @return         String  

                */  

              public         String         getMonthEnd(String         
strdate)  

              {  

                      java.util.Date         date         =         
parseFormatDate(getMonthBegin(strdate));  

                      Calendar         calendar         =         
Calendar.getInstance();  

                      calendar.setTime(date);  

                      calendar.add(Calendar.MONTH,1);  

                      calendar.add(Calendar.DAY_OF_YEAR,         -1);  

                      return         formatDate(calendar.getTime());  

              }  



              /**  

                *         常用的格式化日期  

                *  

                *         @param         date         Date  

                *         @return         String  

                */  

              public         String         
formatDate(java.util.Date         date)  

              {  

                      return         
formatDateByFormat(date,"yyyy-MM-dd");  

              }  



              /**  

                *         以指定的格式来格式化日期  

                *  

                *         @param         date         Date  

                *         @param         format         String  

                *         @return         String  

                */  

              public         String         
formatDateByFormat(java.util.Date         date,String         format)  

              {  

                      String         result         =         "";  

                      if(date         !=         null)  

                      {  

                              try  

                              {  

                                      SimpleDateFormat         
sdf         =         new         SimpleDateFormat(format);  

                                      result         =         
sdf.format(date);  

                              }  

                              catch(Exception         ex)  

                              {  

                                      LOGGER.info("date:"         
+         date);  

                                      ex.printStackTrace();  

                              }  

                      }  

                      return         result;  

              }  






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics