SimpleDateFormat.parse自从lollipop 5.0 Android更新后无效

时间:2015-04-11 23:28:18

标签: android date

我刚刚在我的Android手机上安装了升级版Lollipop,这不再适用了:

String time = "Apr 07 10:35:27 CEST 2015";
long l1 = new SimpleDateFormat("MMM dd HH:mm:ss zzz yyyy").parse(time).getTime();

long l2 = new SimpleDateFormat("MMM dd HH:mm:ss zzz yyyy",
                Locale.ENGLISH).parse(time).getTime();

两者都不起作用:

W/System.err(11473): java.text.ParseException: Unparseable date: "avr. 07 10:35:27 CEST 2015" (at offset 17)

问题是SimpleDateFormat现在返回GMT + 02:00而不是我安装5.0之后的CEST

1 个答案:

答案 0 :(得分:1)

" CEST"根据Android使用的CLDR,它不是公认的时区模式。它可能是之前被认可的,因为SimpleDateFormat已从Apache Harmony中取消,后者遵循Java自己的时间格式标准。