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()); }
浙公网安备 33010602011771号