加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Java中将字符串解析为日期

发布时间:2020-12-14 14:48:30 所属栏目:Java 来源:网络整理
导读:我正在尝试将字符串解析为日期,这就是我所拥有的: 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();} 要解析
我正在尝试将字符串解析为日期,这就是我所拥有的:
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)

解决方法

你似乎混合了z和Z的模式.如果你忽略(FLE日光时间),因为这与GMT 0300中的信息相同,问题就变成了SimpleDateFormat想要GMT 0300或GMT 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);

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读