2

我今天更新到 Android Wear 2.0。我自己开发的表盘现在显示", 005 14". 在更新之前,它曾说过"Sun, May 14"

获取日期格式的代码:

    String pattern = android.text.format.DateFormat.getBestDateTimePattern(locale, "EEEddMMM");

    delegate = new SimpleDateFormat(pattern);
    delegate.setCalendar(calendar);

通过调试,它获取的值是"EEE, MMM dd".

执行实际格式化的代码:

    calendar.set(Calendar.DAY_OF_WEEK, time.getDayOfWeek() + 1);
    calendar.set(Calendar.DAY_OF_MONTH, time.getDayOfMonth());
    // Android hard-codes in a + 1 when formatting as a number.
    calendar.set(Calendar.MONTH, time.getMonthOfYear() - 1);
    return delegate.format(dummyDate);

我检查了当前的文档SimpleDateFormat和两者EM据说仍然受支持。那么Wear 2.0 刚刚坏掉了吗?

我认为对于以后的 API 版本,可以通过使用android.icu替代方案来解决这个问题。但这意味着无限期地支持旧代码和新代码,所以如果事实证明这是他们计划在平台中修复的东西,我宁愿不再浪费时间。

4

0 回答 0