日志:

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用于SimpleDateFormatdocumentation
周的日数(1=周一,…,7=周日)

最佳答案

SimpleDateFormatdocumentation具有误导性(截至2016年9月16日,面向未来读者)。
android中没有u模式字符。
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;
    // ...
}

关于java - Android-SimpleDateFormat IllegalArgumentException:未知模式字符'u',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39538275/

10-13 04:39