Android -SimpleDateFormat 则抛出︰ 未知的模式字符 'u'

标签: Java Android
发布时间: 2016/10/10 22:28:45
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

Logcat:

FATAL EXCEPTION: main
java.lang.IllegalArgumentException: Unknown pattern character 'u'

这里是我的代码︰

long ticket = 1473808310826L;
SimpleDateFormat sdf = new SimpleDateFormat("u");
String test = sdf.format(ticket);

使用︰ JDK 8

u文档中使用 SimpleDateFormat :

一周的日数 (1 = 周一,...,7 = 周日)

解决方法 1:

文件SimpleDateFormat (截至2016/9/16,为未来的读者) 一种误导。

有没有 u 模式中的字符 Android

从源代码中的 SimpleDateFormat :

static final String PATTERN_CHARS = "GyMdkHmsSEDFwWahKzZLc";

// ...

private void validatePatternCharacter(char format) {
    int index = PATTERN_CHARS.indexOf(format);
    if (index == -1) {
        throw new IllegalArgumentException("Unknown pattern character '"
            + format + "'");
    }
}

若要获取当前日期的一周,你可以做这样的事情︰

Calendar calendar = Calendar.getInstance();

// if you do not wish to use the current time, but a specific one
// calendar.setTimeInMillis(yourTimeInMillis);

switch (calendar.get(Calendar.DAY_OF_WEEK)) {
    case Calendar.MONDAY:
        // monday
        break;
    case Calendar.TUESDAY:
        // tuesday
        break;
    // ...
}
赞助商