使用DateFormat格式化Date
DateFormat是android.text.format中的一个工具类,通过使用DateFormat我们可以将Date类格式化成我们想要的类型。
因为默认的Date.toString()方法返回的是一个时间戳,不符合我们阅读的习惯,所以用DateFormat的format()方法进行格式化就成为了比较重要的任务。
DateFormat类的format方法如下所示:
由于我们要格式化Date类型,所以选用第一种形式的format方法。其中inDate自然是我们要格式化的Date实例,而第一个参数inFormat则是我们用来设定Date具体格式化模式的日期时间模式字符串(date and time pattern strings)。
在date and time pattern strings中,未被单引号引用的字母从’A’ to ‘Z’和’a’ to ‘z’被解释为模式字母,代表着日期和时间的字符串,其他的字母或符号在格式化时只被单纯的复制而不进行解释。
例如:”EEEE,MMMMdd,yyyy”就被解释为”Wednesday, Jul 22, 2015”,其中‘,’直接被复制,不进行解释,而其他字母由于未被单引号引用所以被解释成其代表的日期和时间字符串。
模式字母的定义如下图:
y表示年份,m表示月份,d表示日期等等,每个字母的presentation需特别注意,不同的presentation有着不同的属性。
其中
- Text:当模式字母的个数不小于4个时,使用日期的完整形式,如:“Wednesday”,否则使用可用的简化形式“Wed”。
- Month: 当模式字母的个数不小于3个时,月份被解释为文本,否则被解释为数字。
- Year: 当模式字母的个数为2个时,年份为两位数字,否则被解释为数字。
其他的就不一一介绍了,大家有兴趣的可以去官网自己查看。
最后附上例子: