SimpleDateFormat中的'L'字符模式

mad*_*ton 7 java android pattern-matching simpledateformat

我可以尝试在模式中使用'L'字符(http://developer.android.com/reference/java/text/SimpleDateFormat.html):

SimpleDateFormat sdf2 = new SimpleDateFormat("d LLLL y '?'. H:mm:ss z", new Locale("ru", "RU"));
Run Code Online (Sandbox Code Playgroud)

但我得到这个例外:

java.lang.IllegalArgumentException: Unknown pattern character - 'L'
Run Code Online (Sandbox Code Playgroud)

任何想法,为什么会发生?

Jos*_*_GD 8

Android 2.2及更低版本似乎不支持L字符模式.在斯拉夫语言中寻找日期格式的解决方案时,我发现了同样的问题(请参阅我对XtopherSD的回答的评论).我最终有条件地编码格式:

String fmt = Build.VERSION.SDK_INT <= 8 ? "MMMM yyyy" : "LLLL yyyy";
SimpleDateFormat sdfDate = new SimpleDateFormat(fmt);
Run Code Online (Sandbox Code Playgroud)


tha*_*h84 0

我有同样的问题,但是对于“A”字符,在查看 SimpleDateFormat API 后,没有“A”模式字母,只有“a”。当我更改为“a”模式字母时,它可以正常工作。我也没有看到你的“L”模式字母,所以这可能是问题所在。

看看这里

希望这有帮助。