0

我需要将日期字符串分成几部分,我正在使用

public final StringBuffer   format  (Object object, StringBuffer buffer, FieldPosition field)

来自 java.text.DateFormat 类。但是,这个函数的实现真的很慢,因此Android在android.text.format.DateFormat中有自己的实现。

但是,就我而言,我想提取日期字符串的不同部分(年、分钟等)。由于我需要独立于语言环境,我不能使用 SimpleDateFormat 和自定义字符串。我这样做如下:

    Calendar c = ...

    // find out what field to extract
    int field = getField();

    // Create a date string
    Field calendarField = DateFormat.Field.ofCalendarField(field);
    FieldPosition fieldPosition = new FieldPosition(calendarField);
    StringBuffer label = new StringBuffer();
    label = getDateFormat().format(c.getTime(), label, fieldPosition);

    // Find the piece that we are looking for
    int beginIndex = fieldPosition.getBeginIndex();
    int endIndex = fieldPosition.getEndIndex();
    String asString = label.substring(beginIndex, endIndex);

由于某种原因,带有 FieldPosition 参数的 format() 重载不包含在 android 平台中。关于如何以另一种方式做到这一点的任何想法?有没有简单的方法来标记模式字符串?还有其他想法吗?

4

1 回答 1

0

如果您发现部分核心库 (java.*) 行为不正确或性能不可接受,请在此处报告具有可重复测试用例的错误:

http://code.google.com/p/android/issues/entry

于 2010-05-09T16:37:20.380 回答