关于android.text.format.DateFormat类中format()方法的用法

来源:互联网 发布:ios11不安全网络 编辑:程序博客网 时间:2024/05/16 05:09

_______________________________________________________________________________________

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     CharSequence containing the requested text

 _______________________________________________________________________________________


关于CharSequence format(CharSequence inFormat,Date inDate)的说明

format()方法位于包android.text.format.DateFormat中

参数为CharSequenceDate的引用,返回值为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

0 0