我刚刚在我的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
答案 0 :(得分:1)
" CEST"根据Android使用的CLDR,它不是公认的时区模式。它可能是之前被认可的,因为SimpleDateFormat
已从Apache Harmony中取消,后者遵循Java自己的时间格式标准。