一。日期格式化
DateFormat 类:Date对象转换为字符串以及将一定格式的字符串转换为date对象;
1.两个重要方法:(1).format(Date date);//将date对象转为字符串;
(2).parse(String src);//将字符串转换为date对象;
2.SimpleDateFormat :可以将date对象转化为自定义格式的字符串;也可以将字符串转换为date对象;
两个方法同上!
示例代码:
package com.oterman.format;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import org.junit.Test;
public class FormatDemo1 {
//1.将java对象转化成指定字符串形式;
@Test
public void Test1(){
Date date=new Date();
DateFormat formate=DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);
String dateStr=formate.format(date);
System.out.println(dateStr);//2014年11月9日 星期日
DateFormat formate2=DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.CHINA);
String dateStr2=formate2.format(date);
System.out.println(dateStr2);//2014年11月9日 星期日 下午05时46分19秒 CST
}
//2.将指定字符串形式转换为java对象;//2014年11月9日 星期日
@Test
public void test2() throws ParseException{
String source="2014年11月9日 星期日";
DateFormat format=DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA);
Date date=format.parse(source);
System.out.println(date.toLocaleString());//2014-11-9 0:00:00
}
//SimpleDateFormat,将java对象转换为自定义格式的字符串;
@Test
public void test3(){
// SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");//2014年11月09日
// SimpleDateFormat sdf=new SimpleDateFormat("yyyy$$MM@dd日");//2014$$11@09日
SimpleDateFormat sdf=new SimpleDateFormat("yy-MM-dd");//14-11-09
Date date=new Date();
String dateStr=sdf.format(date);
System.out.println(dateStr);
}
//将自定义格式的字符串转化为java对象;
@Test
//2014$$11@09日
public void test4() throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy$$MM@dd日");//2014$$11@09日
Date date=sdf.parse("2014$$11@09日");
System.out.println(date.toLocaleString());//2014-11-9 0:00:00
}
}
二。数字格式化器:NumberFormat
作用:可以将数字1000转化为指定样式的字符串,如¥1,000.00
示例代码:
package com.oterman.format;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;
import org.junit.Test;
//演示数字格式化器;
public class NumberFormatDemo {
//将数字转换为自定格式的货币;
@Test
public void test1(){
int num=1000;
NumberFormat format=NumberFormat.getCurrencyInstance(Locale.CHINA);
String str=format.format(num);
System.out.println(str);//¥1,000.00
NumberFormat format2=NumberFormat.getCurrencyInstance(Locale.US);
System.out.println(format2.format(1000));//$1,000.00
}
//将货币字符串转化为数字; $1,000.00
@Test
public void test2() throws ParseException{
String source="$1,000.00";
NumberFormat format=NumberFormat.getCurrencyInstance(Locale.US);
Number number=format.parse(source);
System.out.println(number.intValue());//1000
}
}
三。消息格式化器:MessageFormat
将一串包含多种国际化信息的字符串转化为指定格式的字符串
详情参见软件国际化.ppt