关于java String格式 转Date格式 SimpleDateFormat 报java.text.ParseException 错误





我们日常在java程序中 ,将字符串类型的日期转化为date型
,常用的方法是 java.text.SimpleDateFormat类。

对于这种标准的常规的日期格式,我们可以很顺利的转化。

但是对于标准的英文日期就会出现问题:

String dateString="Tuesday, July 04, 2001 09:00 AM";
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, MMM dd, yyyy HH:mm a");
Date date=dateFormat.parse(dateString)

这个时候会报出:

Exception in thread "main" java.text.ParseException: Unparseable date: "Tuesday, July 04, 2001 09:00 AM"
at java.text.DateFormat.parse(Unknown Source)
的错误,

最后发现时是时区设置的问题;

解决办法很简单,只需要在开头设置

    Locale locale = new Locale("en", "US", "WIN");
   Locale.setDefault(locale);


测试一下结果:

	    Locale locale = new Locale("en", "US", "WIN");
	    Locale.setDefault(locale);
	    String dateString="Tuesday, July 04, 2001 09:00 AM";
	    SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, MMM dd, yyyy HH:mm a");
	    Date date=dateFormat.parse(dateString);
</pre><pre class="java" name="code">运行结果:
Wed Jul 04 09:00:00 CST 2001
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值