sql.Date与util.Date日期格式化和转换

(1) 获取当前时间,并格式化为yyyy-MM-dd格式:

Java.util.Datedate = new Java.util.Date();

SimpleDateFormatsimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

String time = simpleDateFormat .format(date);

 

注意:获取一个SimpleDateFormat对象两种方式:

第一种:使用 new SimpleDateFormat("yyyy-MM-dd")

第二种:使用(SimpleDateFormat)DateFormat.getDateInstance(),获取的默认语言环境、默认格式的格式器,兼容各种国际环境。

建议使用第二种

 

(2)Java.util.Date转 Java.sql.Date

Java.util.Dateudate = new Java.util.Date();

java.sql.Datesdate = new java.sql.Date(udate.getTime() );

 

(3)将“yyyy-MM-dd”格式字符串转换成 Java.sql.Date

第一种:

StringtimeStr = “2015-11-11”;

Java.util.Datedate = new Java.util.Date();

SimpleDateFormatsimpleDateFormat =(SimpleDateFormat)DateFormat.getDateInstance();

simpleDateFormat.applyPattern("yyyy-MM-dd");

date = simpleDateFormat1.parse(timeStr );

java.sql.Date date1 =new java.sql.Date(date.getTime());

 

第二种:(测试过不行)

StringtimeStr = “2015-11-11”;

StringTokenizerst = new StringTokenizer(timeStr ,"-");

java.sql.Date date =new java.sql.Date(Integer.parseInt(st.nextToken()));

 

 

 

 工具类


/**

 * 格式化、解析日期测试类

 */ 

packagecom.date_test; 

 

importjava.text.DateFormat; 

importjava.text.ParseException; 

importjava.text.SimpleDateFormat; 

importjava.util.Date; 

 

public classDateFormat_test { 

     

    public static void main (Stringagrs[])  { 

        //获取当前时间 

        Date dNow = new Date(); 

        //建立日期格式化器,这里是获取的默认语言环境、默认格式的格式器 

        SimpleDateFormat df =(SimpleDateFormat)DateFormat.getDateInstance(); 

                 

        /*格式化日期,并输出*/ 

        //最普遍的格式 

        df.applyPattern("yyyy-MM-ddHH:mm:ss"); 

        System.out.println("最普遍的格式:  " + df.format(dNow)); 

        //年份俭省格式 

        df.applyPattern("yy-MM-ddHH:mm:ss"); 

        System.out.println("年份俭省格式:  " + df.format(dNow)); 

        //省略年份和具体时间格式 

       df.applyPattern("MM-dd"); 

       System.out.println("省略年份和具体时间格式: " + df.format(dNow)); 

        //采用12小时制格式 

        df.applyPattern("yyyy-MM-ddhh:mm:ss"); 

       System.out.println("采用12小时制格式: " + df.format(dNow)); 

        //省去个位数时前面的0格式 

        df.applyPattern("yyyy-m-ddh:mm:ss"); 

       System.out.println("省去个位数时前面的0格式: " + df.format(dNow)); 

        //更为自由的格式,嵌入字符、换行等,字符要用''包含 

       df.applyPattern("yyyy'年'M'月'd'日'\nh'时'm'分'mm'秒'"); 

       System.out.println("更为自由的格式,嵌入字符、换行等:\n" + df.format(dNow) +"\n\n\n"); 

             

        /*解析字符串日期*/ 

        String dTest ="2012-09-10"; 

        //这里的异常处理是必须、必要的,防止出现特殊格式的字符串日期 

        try { 

           /*将字符串转化为Date类型时,要注意df的格式与字符串日期的格式保持一致,

             * 否则抛出异常

             * */ 

           df.applyPattern("yyyy-MM-dd"); 

            Date ddTest = df.parse(dTest); 

            //这里输出的日期仍然是默认格式,而非之前设定的格式 

            System.out.println(ddTest); 

        } catch (ParseException e)  { 

            // TODO Auto-generated catchblock 

            e.printStackTrace(); 

        } 

    }

}

你可能感兴趣的:(Android)