java - 在 Java 中解析一个字符串到日期

标签 java string date simpledateformat

我正在尝试将字符串解析为日期,这就是我所拥有的:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss zZ (zzzz)");
Date date = new Date();
try {
    date = sdf.parse(time);
} catch (ParseException e) {
    e.printStackTrace();
}

要解析的字符串是这样的:

Sun Jul 15 2012 12:22:00 GMT+0300 (FLE Daylight Time)

我关注了 http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

很确定我已经按照书上的要求做了所有的事情。但它给了我 ParseException

java.text.ParseException: Unparseable date: 
"Sun Jul 15 2012 12:22:00 GMT+0300 (FLE Daylight Time)"

我做错了什么?我尝试过的模式:

EEE MMM dd yyyy HH:mm:ss zzz
EEE MMM dd yyyy HH:mm:ss zZ (zzzz)

最佳答案

您似乎混合了 zZ 的模式。如果您忽略 (FLE Daylight Time),因为这与 GMT+0300 中的信息相同,问题就变成了 SimpleDateFormat 想要GMT +0300GMT+03:00。最后一个变体可以这样解析:

String time = "Sun Jul 15 2012 12:22:00 GMT+03:00 (FLE Daylight Time)";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss zzz");
Date date = sdf.parse(time);

[编辑]
根据其他关于他们的时间字符串工作的帖子,这可能是因为您的时间字符串包含冲突信息或混合格式。

关于java - 在 Java 中解析一个字符串到日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11446420/

相关文章:

java - 估计算法运行时间的增长顺序

regex - bash,在冒号前提取字符串

ios - 为什么我的代码没有删除字符串的空格?

php - MYSQL 字符串替换列 PHP

javascript - momentJS 知道时区转换后的前一天、当前或后一天

mysql - 高效的 SELECT 查询查找一个月内的记录

java - 使用 : NotificationCompat. Builder 不显示通知

java - 针对不同用户的JCMD

Android:偏移量为 4 时无法解析的日期

java - 扩展对象并继承所有变量