我的第一次尝试是:
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
Date date = formatter.parse(string);
Run Code Online (Sandbox Code Playgroud)
它抛出ParseException,所以我发现了这个hack:
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
TimeZone timeZone = TimeZone.getTimeZone("Etc/GMT");
formatter.setTimeZone(timeZone);
Date date = formatter.parse(string);
Run Code Online (Sandbox Code Playgroud)
它也没用,现在我卡住了.如果我只是将时区更改为"GMT",它会毫无问题地解析.
编辑:要解析的示例字符串将是"2011-11-29 10:40:24 Etc/GMT"
edit2:我不想完全删除时区信息.我正在编写一个从外部用户接收日期的服务器,因此其他日期可能还有其他时区.更确切地说:我收到的具体日期来自苹果服务器的收据,在iPhone应用程序上购买应用程序,但我也可以从其他来源收到日期.
以下代码对我有用
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Etc/GMT"));
尝试 { System.out.println( sdf.parse("2011-09-02 10:26:35 Etc/GMT") );
} catch (ParseException e){
e.printStackTrace();
}
| 归档时间: |
|
| 查看次数: |
2434 次 |
| 最近记录: |