如何使用Java的SimpleDateFormat来解析"GMT + 0100(BST)"给出的时区?

use*_*465 2 java parsing date-parsing simpledateformat

我有一个日期,其形式为:

Wed Aug 17 2011 09:57:09 GMT+0100 (BST) 
Run Code Online (Sandbox Code Playgroud)

并有一个过滤器,需要花费一定时间的格式.问题似乎是最后的时区,我在过滤器中放置的格式字符串似乎都不适用于这种类型的日期格式.

例如,

Wed Aug 17 2011 09:57:09 GMT+0100 (BST)
EEE MMM dd yyyy HH:mm:ss zZ?
Run Code Online (Sandbox Code Playgroud)

时区的一部分,不断抛出错误.

谁能告诉我在这些日期解析时区的正确格式是什么?

Kon*_*rus 6

"z"需要小时和分钟之间的冒号."Z"仅为+/- HHMM(即没有"GMT"前缀).

解析它的一种方法是:EEE MMM dd yyyy HH:mm:ss 'GMT'Z."BST"位被忽略,它基于偏移之前始终存在"GMT"的假设.