Android - SimpleDateFormat IllegalArgumentException:未知的模式字符' u'

时间:2016-09-16 18:46:51

标签: java android

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的{​​{3}}:

  

星期数(1 =星期一,...,7 =星期日)

1 个答案:

答案 0 :(得分:2)

SimpleDateFormat的{​​{3}}具有误导性(截至 09/16/2016 ,供将来读者使用)。

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;
    // ...
}