Java -- Date and Format

*NumberFormat: java.text.NumberFormat

     @Test
    // NumberFormat
    public void test1() {
        double number = 13.59;
        NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CHINA);
        System.out.println("Locale.CHINA: " + format.format(number));
        format = NumberFormat.getCurrencyInstance(Locale.ENGLISH);
        System.out.println("Locale.ENGLISH: " + format.format(number));
        format = NumberFormat.getCurrencyInstance(Locale.KOREA);
        System.out.println("Locale.KOREA: " + format.format(number));
    }    

    DecimalFormat df = new DecimalFormat("####.000");

    df.format(1234.34); ===>1234.340

    NumberFormat nf = NumberFormat.getPercentInstance();

    nf.setMinimumFractionDigits(2);  //like new DecimalFormat("####.00%");

    nf.format(0.78);  ===>78%

 

*DateFormat: java.text.DateFormat

@Test
    // DateFormat
    public void test2() {
        Date date = new Date();
        DateFormat format = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);
        String str = format.format(date);
        System.out.println("Chinese date format: " + str);
        format = DateFormat.getDateInstance(DateFormat.FULL, Locale.CANADA);
        System.out.println("Canada date format: " + format.format(date));
    }

DateFormat: 

  • SHORT 完全为数字,如 12.13.52 或 3:30pm
  • MEDIUM 较长,如 Jan 12, 1952
  • LONG 更长,如 January 12, 1952 或 3:30:32pm
  • FULL 是完全指定,如 Tuesday、April 12、1952 AD 或 3:30:42pm PST

*SimpleDateFormat:

@Test
    public void test7() {
        // 只能处理 date+time
        SimpleDateFormat datetimeformat = new SimpleDateFormat(
                "yyyy-MM-dd HH:mm:ss");
        // 可以处理 date+time; date
        SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
        // 只能处理 time
        SimpleDateFormat timeformat = new SimpleDateFormat("HH:mm:ss");
        Date date = new Date();
        report("date + time: " + datetimeformat.format(date));
        report("date:  " + dateformat.format(date));
        report("time: " + timeformat.format(date));
        String date1 = "1990-01-20 08:29:40";
        String year = "1986-07-20";
        String time = "20:15:30";
        try {
            Date date2 = datetimeformat.parse(date1);
            report(date2.toString());
            // java.text.ParseException: Unparseable date: "1986"
            // Date date3 = datetimeformat.parse(year);
            // report(date3.toString());
            // java.text.ParseException: Unparseable date: "20:15:30"
            // Date date4 = datetimeformat.parse(time);
            // report(date4.toString());

            Date date5 = dateformat.parse(date1);
            Date date6 = dateformat.parse(year);
            // Date date7 = dateformat.parse(time);
            report(date5.toString());
            report(date6.toString());
            // report(date7.toString());
            // Date date8 = timeformat.parse(date1);
            // Date date9 = timeformat.parse(year);
            Date date10 = timeformat.parse(time);
            // report(date8.toString());
            // report(date9.toString());
            report(date10.toString());
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

*获取字符串的不同字符集的编码字符串

@Test
    public void test6() {
        String str = "澳大利亚";
        System.out.println(getBytes(str.getBytes(Charset.forName("unicode"))));
        System.out.println(getBytes(str.getBytes(Charset.forName("GBK"))));
        System.out.println(getBytes(str.getBytes(Charset.forName("UTF-8"))));
        byte[] bytesUTF = new byte[] { (byte) 0xe6, (byte) 0xbe, (byte) 0xb3,
                (byte) 0xe5, (byte) 0x9B, (byte) 0xBD };
        try {
            System.out.println(new String(bytesUTF, Charset.forName("UTF-8")));
        } catch (RuntimeException e) {
            e.printStackTrace();
        }
    }

*Calendar & GregorianCalendar

@Test
    public void test8() {
        Calendar cal = Calendar.getInstance();  //静态类
        Calendar cal1 = new GregorianCalendar();
        Calendar cal2 = new GregorianCalendar(2016, 04, 27);
        Calendar cal3 = new GregorianCalendar(2015, 012, 25, 15, 55);
        Calendar cal4 = new GregorianCalendar(2015, 012, 25, 15, 55, 59);
        Calendar cal5 = new GregorianCalendar(Locale.UK);
        cal1.setTime(new Date());
        report(cal1);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH小时mm分ss秒");
        // cal1.getTime() Calendar convert to Date
        report(sdf.format(cal1.getTime()));
        report("Year: " + cal1.YEAR);
        report("Month: " + cal1.MONTH);
        report("Day: " + cal1.DAY_OF_MONTH);
        report("AM or PM: "+cal1.AM_PM);
    }

 

*java.util.Date * java.sql.Date:

public void test9(){    
        //java.util.Date转java.sql.Date()
        java.util.Date date = new java.util.Date();
        //java.sql.Date()需要参数,
        java.sql.Date sqlDate = new java.sql.Date(date.getTime());
        //java.sql.Date转java.util.Date
        java.util.Date norDate = new java.util.Date(sqlDate.getTime());
    }

 

posted on 2016-04-27 18:52  yeatschen  阅读(112)  评论(0)    收藏  举报

导航