java - java中用AEDT时区解析日期

标签 java android parsing date

我正在尝试解析格式字符串

Sat Feb 01 15:00:19 AEDT 2014

进入日期对象。我的代码如下所示:

SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
try{
    Date time = parserSDF.parse("Sat Feb 01 15:00:19 AEDT 2014");
}catch(Exception e){
    e.printStackTrace();
}

但我收到“解析错误”。我无法更改日期的输入格式,也无法将时区设置为静态值,因为此代码将在 andorid 设备上运行。如何将此字符串解析为日期?

最佳答案

“AEDT”是一个 4 字母时区,不受支持。这会导致异常。 只有valid timezones可以解析。

您可以使用 (GMT+11) 代替 AEDT,如下所示:

    SimpleDateFormat parserSDF = new SimpleDateFormat("E MMM dd HH:mm:ss yyyy");
    parserSDF.setTimeZone(TimeZone.getTimeZone("GMT+11"));
    try{
        Date time = parserSDF.parse("Sat Feb 01 15:00:19 2014");
    }catch(Exception e){
        Toast.makeText(this, "exception: "+e.toString(), Toast.LENGTH_LONG).show();
        e.printStackTrace();
    }

关于java - java中用AEDT时区解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25484049/

相关文章:

Java 程序无法执行它写入/tmp 的文件,没有这样的文件或目录

java - 取消套接字和/或线程时遇到问题

android - ListView 不显示任何内容并隐藏数据

java - android跨进程同步方法

java - 谷歌文档 API。 Java 特定的断点续传上传

java - 在没有 html、浏览器和 Appletviewer 的情况下查看 Java Applet?

android - 如何将绘画图像转换为位图

objective-c - 是否有现成的字符串形式数学表达式解析器?

c# - 解析SQL查询并提取列名和表名

html - 如何使用 Ruby 解析 HTML 文件标题