為了完成CriminalIntent項目中的日期格式化挑戰,我們需要使用到 android.text.format.DateFormat類,
該類提供了Java中的三種時間對象,提示大家下面三種方法為靜态可以直接調用,如下:
final static CharSequence format(CharSequence inFormat, Date inDate) //傳入Date對象
Given a format string and a Date object, returns a CharSequence containing the requested date.
final static CharSequence format(CharSequence inFormat, Calendar inDate) //Calendar對象
Given a format string and a Calendar object, returns a CharSequence containing the requested date.
final static CharSequence format(CharSequence inFormat, long inTimeInMillis) //long對象
Given a format string and a time in milliseconds since Jan 1, 1970 GMT, returns a CharSequence containing the requested date.
在CrimeFragment.java中,我們加入以下代碼來格式化日期
String date = (String)DateFormat.format("EEEE, MMMM dd日, yyyy kk:mm", mCrime.getDate());
mDateButton.setText(date);
注意,我們可以格局需要來設定日期的格式模闆,主要模闆如下:
"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" -> "Tues day, Nov 3, 1987 11:23am"
"YYYY年MM月dd日,kk:mm" -> 2014年09月30日,11:23
用24小時制:
"EEEE, MMMM dd, yyyy kk:mm" -> "Tues day, Nov 3, 1987 23:23"
其中:12小時制 :hh; 24小時制: kk,如果用 SimpleDateFormat ,則為: hh; HH
android.text.format.DateFormat類的static boolean is24HourFormat(Context context)方法可以用來判斷目前系統時間是否為24小時制式