java日期格式 - GMT 0700(PDT)

Cac*_*ing 4 java simpledateformat

这是我需要处理的日期格式

Wed Aug 21 2013 00:00:00 GMT-0700 (PDT)
Run Code Online (Sandbox Code Playgroud)

但我不知道最后两部分是什么.是GMT-0700固定的吗?它应该是这样的吗?

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss 'GMT-0700' (z)");
Run Code Online (Sandbox Code Playgroud)

Arn*_*lle 9

不,它不是固定的.这是一个TimeZone.您可以使用Z日期格式进行匹配.

更准确地说,在SimpleDateFormat格式中:

  • Z匹配-0700部分.
  • GMT是固定的.用一些引号来逃避它.
  • z匹配PDT部分.(PDT =太平洋夏令时).
  • PDT周围的括号是固定的.用括号逃脱它们.

您可以使用以下格式解析日期:

EEE MMM dd yyyy HH:mm:ss 'GMT'Z '('z')'
Run Code Online (Sandbox Code Playgroud)

另一个注释:Wed Aug包含英文的日期和月份,因此您必须在SimpleDateFormat中使用英语区域设置,否则翻译将失败.

new SimpleDateFormat("*format*", Locale.ENGLISH);
Run Code Online (Sandbox Code Playgroud)