作者kikiapple (KiKi苹果)
看板java
标题[问题] DateFormat.format 与 FieldPosition
时间Tue Feb 2 16:52:05 2010
DateFormat.format 可以指定 FieldPosition 来取得产生字串中特定栏位的位置。
例如
FieldPosition fp = new FieldPosition(Field.DAY_OF_MONTH);
DateFormat.format(date, buffer, fp);
这时 fp.beginIndex 与 fp.endIndex 就会存放产生字串中 天 的所在位置。
但是这个 FieldPosition 一次只能指定一个。
如果我想要取得 年 月 日 三个栏位的位置,就得写成
FieldPosition fp1 = new FieldPosition(Field.YEAR);
FieldPosition fp2 = new FieldPosition(Field.MONTH);
FieldPosition fp3 = new FieldPosition(Field.DAY_OF_MONTH);
DateFormat.format(date, buffer, fp1);
DateFormat.format(date, new StringBuffer(), fp2);
DateFormat.format(date, new StringBuffer(), fp3);
数据是有了,但日期字串被 format 三次,不太经济,感觉也很怪。
有比较合理的其他写法吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.0.170
※ 编辑: kikiapple 来自: 220.133.0.170 (02/02 17:14)