_______________________________________________________________________________________
publicstatic CharSequence format(CharSequence inFormat,Date inDate)
Given a format string and a Date, returns a CharSequence containing the requested date.
Parameters
inFormat CharSequence: the format string, as described in DateFormat
inDate Date: the date to format
Returns
CharSequence a CharSequence containing the requested text
_______________________________________________________________________________________
关于CharSequence format(CharSequence inFormat,Date inDate)的说明
format()方法位于包android.text.format.DateFormat中
参数为CharSequence和Date的引用,返回值为CharSequence类型。
参数中的CharSequence:是一个接口,String 和 CharSequence 关系是String 继承于CharSequence,也就是说String也是CharSequence类型。CharSequence它只包括length(),charAt(int index),subSequence(int start, int end)这几个API接口。需要说明的是,CharSequence就是字符序列,String本质上都是通过字符数组实现的。在使用format方法时,传递的参数可以为一个字符串(String),这是一个“格式字符串”,是对日期格式的描述,形如"E, MMMdd, yyyy, kk:mm:ss",结尾还有多种格式以及其对应的时间格式。
参数中的Date:是包java.util.Date下的一个类,它可以获得系统当前的时间,例如,Date a = new Date( ); xxx.setText (a.toString( ) ); 但这样直接获得时间可能不是我们想要的格式,所以我们才会用到format()方法来定制我们想要的时间格式。
例子:将一个按钮的显示文本设置为当前的时间:
······
private Button mDateButton;
private Date mDate;
······
mDate = new Date();
mDateButton =(Button)v.findViewById(R.id.crime_date);
CharSequence presentDate =android.text.format.DateFormat.
format("E, MMMdd, yyyy, kk:mm:ss", mDate);
mDateButton.setText(presentDate);
······
效果图:
字符串格式(用于指定显示时间的格式):
"MM/dd/yy h:mmaa" -----> "11/03/87 11:23am"
"MMM dd, yyyy h:mmaa"-----> "Nov 3, 1987 11:23am"
"MMMM dd, yyyy h:mmaa" -----> "November 3, 1987 11:23am"
"E, MMMM dd, yyyy h:mmaa" -----> "Tues , November 3, 1987 11:23am"
"EEEE, MMMM dd, yyyy h:mmaa" -----> "Tuesday, Nov 3, 1987 11:23am"
"EEEE, MMMM dd, yyyy h:mmssaa" ----->"Tuesday, Nov 3, 1987 11:23:20am"
用24小时制:
"EEEE, MMMM dd, yyyy kk:mmss" -----> "Tues day, Nov 3, 1987 23:23:20"
12小时制 :h ; 24小时制: kk